自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cichard

我不懒

  • 博客(102)
  • 收藏
  • 关注

原创 vue配置

Vue前端逻辑判断遍历事件浏览器事件,window, documentDom事件:增,删,改,查JQuery视图htmlcss通信xhrajax判断-循环iffor事件on网络通信JQuery.ajax()Axios 与nodejs计算属性: 计算出来的结果,保存在属性中,内存中运行,是属性不是方法,即不是methods是computed,虚拟Dom,缓存slot:插槽组件及页面布局componentVue小结核

2022-04-08 10:55:05 1243

原创 SpringBoot的配置

SpringBoot的配置SpringBoot的配置文件yaml可以直接给实体类赋值简而言之就是可以设置一个全局变量,相比于properties简单无论是赋值还是方法。但其对格式要求比较严格,空格空行等所有的类只有在一定条件下才能生效conditionalonSpingBoot启动时会加载大量的自动配置类我们看我们需要的功能有没有在SpringBoot默认写好的自动配置类当中我们再看这个自动配置类中到底配置了哪些组件(只要我们要用的组件存在在其中,我们就不需要再手动配置了)给容器中自动配置类

2022-04-08 10:53:35 676

原创 leetcode2156. 查找给定哈希值的子串 反向滑动窗口

leetcode2156重点为反向滑动窗口和取余后的操作题意:给你一个字符串s,只包含小写字母,a的值为1依次递增,从其中的长度为k的子串通过hash(s, p, m) = (val(s[0]) * p0 + val(s[1]) * p1 + ... + val(s[k-1]) * pk-1) mod公式得到值为val,若val==hashValue,则这个子串符合条件,若有多个子串则输出第一个符合条件的子串思路:首先看一眼范围字符串的长度子串长度为2*104,时间复杂度最多能到O(nlogn),po

2022-02-02 15:36:43 772

原创 数据结构--一些简单的查找算法

查找线性结构顺序查找折半查找分块查找树形结构二叉排序树二叉平衡树B树,B+树散列结构散列表–性能分析,冲突处理基本概念查找为在数据集合中寻找满足某种条件的数据元素的过程,有查找失败和查找成功之分查找表用于查找的数据集合称为查找表静态查找表,无需动态的修改查找表,只涉及检索和查找的操作方式,有顺序查找、折半查找、散列查找等动态查找表,相比于静态查找表多了可以动态的插入和删除的操作,有二叉排序树、散列查找等平均查找长度简称ASL,一次的查找长度为需要比较的关

2021-10-14 19:43:24 394

原创 数据结构--归并排序

归并排序主要是二路归并排序,其他多路归并同理思想:“归并”的含义即是将两个或两个以上的有序序列整合成一个新的有序序列。例如,将待排的序列长度为n,将其视为n个长度为1的有序序列,然后两两合并,得到(n+1)/2个长度为2或1的有序序列,然后再进行两两归并,依次重复,最后得到一个长度为n的有序序列,这种称为二路归并。多路归并即多个序列合并成一个序列,本质上的思想是一样的。实现代码void Merge(ElemType A[], int l, int mid, int r){ for(int k

2021-10-14 19:42:20 246

原创 数据结构--堆排序

堆排序思路:首先把一维数组视为一棵完全二叉树,这样才有接下来的的一系列操作和默认的定义序列满足如下条件1、L[i]>=L[2i]&&L[i]>=L[2i+1] (大根堆)或者2、L[i]<=L[2i]&&L[i]<=L[2i+1] (小根堆)以下只讨论大根堆的情况,小根堆同理大根堆:任何一个非叶子节点的值都不小于其左右孩子的值,即父亲大孩子小根节点即为最大的元素构造大根堆的排序中的关键操作就是把无序的序列调整成堆建立大根堆

2021-10-14 19:41:53 106

原创 操作系统软件实现互斥

操作系统软件实现临界区互斥三种算法单标志法int turn = 0; // 用turn来表示该临界区能够被谁访问,初始化随意,0或者1都行void P0(){ while(turn!=0); // 如果turn!=0表示P0进程不能访问,则循环等待 critical section; // 到这步之后,即turn=0,进入临界区访问 turn = 1; // 用完之后,退出临界区,把使用权交给P1 others; // 其他的操作}

2021-07-17 20:41:37 414

原创 移动硬盘一直不能正常读取

问题:插入移动硬盘后,硬盘一直在转,电脑卡,没有点击右下角的安全移除移动硬盘,直接在硬盘运行的时候暴力拔掉USB连接数据线导致硬盘无法读取的问题。所以还是提示大家,最好把移动硬盘里面所以程序停止后,再安全移除后再拔掉移动硬盘。解决方法:第一步:我们在WINDOWS下,直接按住WINDOWS+R,然后输入CMD,调出DOS系统,也就是最原始的命令行模式;第二步:查看我们的移动硬盘的卷标,三副的硬盘第一次显示的G盘,后来第二次插入显示的是H盘,那么在DOS命令行输入命令:“chkdsk H:/f “

2021-06-10 10:52:19 3114

原创 数据结构---一些简单的排序算法

排序算法​ 本博客排序顺序默认从小到大,非降序,数组如无特殊说明则从下标1开始到下标n插入排序直接插入排序插入排序顾名思义,插入,排序,先将前i-1个序列作为一个顺序序列,然后把第i个元素插入这个序列中,得到一个长度为i的序列同时这种做法,因为是从后往前插入,故得到的是稳定排序故整体时间复杂度为O(n^2),空间复杂度为O(1),最好的情况为O(n),即元素基本有序,不需要插入太多,即for循环里面的for没怎么用过具体代码实现如下:void Direct_insert_sort(E

2021-05-30 21:48:41 85

原创 数据结构--链表 带头节点的各项操作

完整代码如下,全部手打,如有错误,还望斧正#include<bits/stdc++.h>using namespace std;#define ElemType int/* 链表操作,带头节点的链表 */typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList; //LiskList相当于LNode*,只是为了表达是一个是节点一个是链表的差别/* 初始化操作,带头节点 */bo

2021-04-10 15:29:07 110

原创 leetcode 1819.序列中不同最大公约数的数目 类似素数筛

题意中文,给你一个序列,任意组合成多个子序列,求子序列的最大公因数有多少个思路先看数据范围,num[i]最大只到2e5,故可以枚举其各个子序列的最大公因数,如何判断的话可以用到素数筛的思想,具体实现看代码class Solution {public: bool vis[200010]; int mx; int gcd(int a, int b){return b==0?a:gcd(b,a%b);} bool check(int x){ int t =

2021-04-10 09:20:59 160

原创 python QQ邮件发送+可视化(SMTP)

解释在代码的注释中''' 邮件发送并窗口化'''import tkinterfrom email.mime.text import MIMETextimport smtplibclass sendMail: # 默认执行 def __init__(self): windows = tkinter.Tk() # 设置标题 windows.title("邮件发送") # 窗口大小 windows.geometry("500x400") # 窗口大小不可变 wi

2021-01-13 17:17:49 576

原创 11.29~11.30日cf刷题记录

D. Radio Towerscodeforces 1452D1600的题,分子菲波那契数列,分母2^n,然后求分子除分母对mod取余,费马小定理,mod为质数,gcd(y,mod)==1x/y%mod = x*y^(mod-2)%mod代码为一个快速幂加一个定理:int a[maxn];ll qpow(ll a, ll b){ ll res = 1; while(b>0){ if(b&1) res = res*a%mod; b&g

2020-11-30 16:28:08 144

原创 滑动窗口 双端队列+模拟

牛客滑动窗口

2020-11-09 19:08:50 230

原创 codeforces 1443D Extreme Subtraction 贪心或差分

1433D Extreme Subtraction

2020-11-09 19:08:09 190 2

原创 数码 思维+模拟 牛客

数码#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")#include<bits/stdc++.h> using namespace std;typedef long long ll;typedef unsigned long long ull;typedef pair<int, int> pii;#define rep(i,

2020-11-09 15:16:01 111

原创 1318: [蓝桥杯2017初赛]跳蚱蜢

1318: [蓝桥杯2017初赛]跳蚱蜢

2020-10-14 15:08:18 178

原创 1321: [蓝桥杯2017初赛]正则问题 递归

1321: [蓝桥杯2017初赛]正则问题

2020-10-13 19:22:06 153

原创 1468: [蓝桥杯2019初赛]灵能传输 思维题+前缀和

1468: [蓝桥杯2019初赛]灵能传输思路:#include<bits/stdc++.h> using namespace std;typedef long long ll;#define int ll#define rep(i, a, n) for(int i = a; i < (int)n; i++)#define per(i, a, n) for(int i = (int)n-1; i >= a; i--)const int maxn = 3e5+10;i

2020-10-06 15:30:44 384 1

原创 蓝桥的一些水题

蓝桥杯的比赛临近,开始刷一些蓝桥的题,大部分都挺水的就是暴力,然后就是dfs,在之后就是dp了还有一些基础的算法,有些还有点忘记了1322: [蓝桥杯2017初赛]包子凑数题意就不说了,都是中问题,没啥意思思路:100数据小,最多也就是100个100也就是1e4,首先判断是否是INF,对所有的数进行一边gcd,如果最大公因数不是1,那么就表示有无数个,反之则是有限个,同时通过递推可以想到如果vis[j]可以得到,那么vis[j+a[i]]也可以得到,这样递推下去,在1到1e4里遍历一边计算vis=0的

2020-10-02 20:27:57 124

原创 python变量作用域

L(Local) 局部作用域E(Enclosing) 嵌套作用域G(Global) 全局作用域B(Build-in) 内建作用域Local只在函数内部有影响,即使变量名和Global相同或者和Enclosing相同,也不会改变其对应的值,同时Enclosing也一样。具体实现可参考代码:def f(): def f1(): s = 1 # 局部变量 def f2(): nonlocal s # 内嵌套,这里改动了s的值,因为在这个函数中,或者换句话说在这个函数中s相当于声明了全局变量

2020-09-23 15:06:23 83

原创 codeforces1406C. Link Cut Centroids 树的重心板子题

1406C 1700之前没听过树的重心,还以为是离散里面的知识,主要是补充概念

2020-09-20 10:18:48 239

原创 codeforces1405D. Tree Tag 树的直径+思维

1405D 1900

2020-09-19 20:26:45 227

原创 codeforces1405C. Balanced Bitstring 贪心

1405C 1500贪心水题,没想到

2020-09-19 12:34:08 111

转载 树的直径,树的重心

转载一棵树最多有两个重心这个代码可直接求得void getCentroid(int u, int fa) { siz[u] = 1; wt[u] = 0; for (int i = head[u]; ~i; i = nxt[i]) { int v = to[i]; if (v != fa) { getCentroid(v, u); siz[u] += siz[v]; wt[u] = max(wt[u], siz[v]); }

2020-09-18 12:03:24 118

原创 codeforces1175C 贪心+思维

1175C 1600题意:给定一个序列a,找出一个x使得di=|ai-x|,然后对数组d进行排序,将d(k+1),作为结果,求x的位置使得d(k+1)思路:有点考思维,看了代码之后都还是有点蒙,首先是我们能想到的是对与x取值的讨论,如果x在[a[i], a[i+k]]区间内,不考虑这个区间之外的数,(为什么这么说呢,因为如果考虑了,那么第k+1大的数就可能不再这个区间内了,那么问题就来了,那结论不就是错误的了吗,但是我是对i进行了一个遍历,之后如果有更小的,会进行更新,也就不存在这样的的问题了)可以得到

2020-09-17 19:58:53 143

原创 codeforces1176E bfs

1176E 1700题意:思路:

2020-09-17 16:35:51 114

原创 codeforces1176D 数筛+思维

1176题意:思路:

2020-09-17 11:18:32 289

转载 codeforces1354D做过的题,再看一遍

1

2020-09-17 10:46:11 89

原创 codeforces1303D 贪心+位运算

1303D 1900题意:给你一个数n和长度为m的数组,同时这m个数保证都是2的幂次方,问你是否可以通过对m中的数除2的操作,然后相加得到m,如果能打印最小的操作数,如果不能打印-1思路:从题目中2的幂次方可以联想到这是一个和位运算有关的题目,如果分别把n和m中的数变成二进制来计算,从低位到高位,如果m中的数在二进制,该位为0,而n为1,那么就意味着,m中这个位要向前面的取一,即a[pos]–,而为什么是从低位到高位,而不是高位到低位,因为我们的低位是首先要满足的,而你要最优的操作数,如果从最高位开始,

2020-09-16 09:21:59 116

原创 codeforces1294D 贪心

1294D 1600(最近不知道为啥思维下滑很严重)题意:给你q组询问,和操作数x,你能对这个询问+n操作数或者-n操作数,问你每一次询问过后,最小的数是多少思路:贪心,首先对于每一组询问都对于x取于,即这个询问能得到的最小的数是多少,然后对这个0~x-1进行标记,或者说更新,即对x取余之后这个数最小为多少,这里是本题最主要的贪心思想,标程跑了2000ms多代码如下#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC ta

2020-09-15 10:25:52 100

原创 codeforces1409D 暴力

1409D

2020-09-12 20:15:09 238

原创 codeforces1407C 比较少做的题,互动题

1407C

2020-09-12 19:43:20 158

原创 codeforces1407B 题意比较模糊

1407B

2020-09-12 19:22:47 153

原创 codeforces1365E 暴力+思维

1365E

2020-09-12 19:03:56 95

原创 codeforces1361B 暴力

1361B

2020-09-12 18:25:38 120

原创 codeforces1176C 队列贪心+暴力

1175C

2020-09-12 17:45:28 189

原创 codeforces1367D 思维模拟

1367D 1800

2020-09-08 10:55:37 137

原创 codeforces1392D 字符串处理

1292D 1700

2020-09-08 10:20:11 232

原创 组合数学 模板

// 求C(n,m)ll qpow(ll a, ll b){ ll res = 1; while(b>0){ if(b&1) res = (res*a)%mod; a = (a*a)%mod; b >>= 1; } return res;}ll comb(ll n, ll m){ ll tmp = 1, res = 1; for(int i = 1; i <= n; i++) res = res*i%mod; for(int i = 1; i

2020-09-07 08:24:05 120

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除