随笔分类 - 点醒记忆零星
摘要:模运算必须是整数 (a + b) % p = (a % p + b % p) % p (1) (a - b) % p = (a % p - b % p) % p (2) (a * b) % p = (a % p * b % p) % p (3) a ^ b % p = ((a % p)^b) % p
阅读全文
摘要:1 //弗洛伊德 floyd 2 void floyd()// n3 3 { 4 //想象为在拉面条,不断进行松弛操作 5 for(ll k=1;k<=n;++k)//k必须放在最外层 6 for(ll i=1;i<=n;++i)//枚举两端点 7 for(ll j=1;j<=n;++j) 8 g[
阅读全文
摘要:懒啊 引入老朋友博客 分块 - 云山千叠 - 博客园 (cnblogs.com) 分块 根号n 分块,又被称为优雅的暴力,在想不出更优解,可以考虑分块来解决 将大小为n的数列分为根号n块,如果不能恰好分为根号n块的话,多分一块就可以了 所以,我们要预处理出每一个元素所属的块 kuai[i] 和每一块
阅读全文
摘要:P3379 【模板】最近公共祖先(LCA) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 倍增LCA 从两个点不断地向上跳,为了避免跳过和准确跳到,弹跳幅度逐渐减小,但要注意先使两个点的深度平齐,如此一块跳才能一块找到最近公共祖先 就如同两个实力相同的rabbits在比赛,为了比
阅读全文
摘要:n的算法 通过1.弹出队首 2.压入队尾 3.弹出队尾 来保证区间内的单调性 P1886 滑动窗口 /【模板】单调队列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 1 #include<bits/stdc++.h> 2 using namespace std; 3 const
阅读全文
摘要:思想是用指数的乘法性质,用二分思想执行操作 1 #include<bits/stdc++.h> 2 using namespace std; 3 int b,p,k,ans; 4 void power(int a,int n) 5 { 6 ans=1; 7 while(n) 8 { 9 if(n%2
阅读全文
摘要:隆重介绍骗分黑科技 map 能水过不少题,且能极大缩短代码 A,B均为数据类型 map<A,B>a; A为a数组下标,B为a数组存储 水题(不一定AC,但可以获得极可观的分数) P3370 【模板】字符串哈希 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 正经想学哈希的不要偷懒哦
阅读全文
摘要:根据贪心,在建树时优先选择长度小的边 通过并查集判断两个点是否已联通,如果已联通,则跳过,如果为联通,则连接 (因为是树,所以仅有一条路径) P3366 【模板】最小生成树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 1 #include<bits/stdc++.h> 2 us
阅读全文
摘要:常用素数:1e8+7 1e8+37 19260817 线性筛 1 int prime[N]; 2 bool flag[N]; 3 void getprime() 4 { 5 flag[1]=1;//1不是素数 6 for(ll i=2;i<=n;++i)//n为素数的范围 7 { 8 if(flag
阅读全文
摘要:一.快速排序 时间复杂度:平均 nlogn 最坏 n2 空间:n int a[N]; int cmp(int x,int y) { return x<y;//递增 或 return x>y;//递减 } sort(a+1,a+1+n,cmp); struct node { int a,b; }e[N
阅读全文
摘要:并查集:通过将相应的元素归类到相应的集合内,以便之后的查询 在这里,我们可以从一个集合内选出一个代表,来表示相应的集合 初始处理 初始时每个元素的所属集合仅有元素本身,所以其所属集合的代表元素也仅能为它本身 1 int father[N]; 2 for(int i=1;i<=n;++i)father
阅读全文
摘要:存储整形 1 priority_queue<数据类型>q //定义 2 如 priority_queue<int>q1 priority_queue<long long>q2 3 // 队列在排序时复杂度为logn 4 q.push(x) //将数 x 压入队列 5 q.top() //返回队首 6
阅读全文
摘要:不满足于代码速度的同学快来看了 快读 读入包含大量无用空格时,快读不太适用 1 inline int read() 2 { 3 register int sm=0,flag=1; 4 register char ch=getchar(); 5 while(ch<'0'||ch>'9'){if(ch=
阅读全文
摘要:因命名冲突引发的惨案 某学长因 clock 错失机会 某蒟蒻因 map 耗费一天时间解决CE 因此,应引起足够警惕 !!!!!!!!! 下面隆重介绍命名空间 你值得拥有 1 #include<bits/stdc++.h> 2 using namespace std; 3 namespace _xzy
阅读全文
摘要:0. freopen 1 freopen(".in","r",stdin); 2 freopen(".out","w",stdout); 1. 时间复杂度 2. 空间限制 1M=1024 K=1024 字节 byte short int long float double 1字节 2字节 4字节 8
阅读全文
摘要:(转 lower_bound 的使用 - EdisonBa - 博客园 (cnblogs.com)) #include<algorithm> lower_bound()适用于单调递增数组 upper_bound()适用于单调递减数组 lower_bound()与upper_bound()一个用法 单
阅读全文
摘要:vector数组 (转 【C++】vector (1024sky.cn) ) 相较于普通数组,有以下几个优点: 1.大小可变 2.操作方便 ......(其他自己考虑) 创建 以下以A表示int,long long,double......等类型(标点符号使用错误) vector<A>v1 创建一个
阅读全文

浙公网安备 33010602011771号