![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm
文章平均质量分 61
Gverzh
这个作者很懒,什么都没留下…
展开
-
输出格式问题-- setprecision、fixed、showpoint的用法总结
首先要加头文件:iomanip一:setprecision作用:控制输出流显示浮点数的数字个数,setprecision(n)就是输出的n个数,会有四舍五入。比如:double s=20.7843000,cout<<setprecision(1)<<s<<endl; //输出2e+001,因为要输出一个数字,所以只有2cout<<setprecision(2)<<s<<endl; //输出21cout<<setp转载 2021-09-14 09:52:46 · 980 阅读 · 0 评论 -
模板 - 最近公共祖先 LCA - 倍增算法
贴几篇学习博客:CSDN - 青烟绕指柔!的博客 - 倍增算法CSDN - Nekroz_的博客CSDN - Dust_Heart的博客#include <iostream>#include <algorithm>#include <cstring>#include <math.h>#include <stdio.h>using namespace std;// LCA 最近公共祖先 倍增const int N = 5e5原创 2021-08-21 08:54:17 · 115 阅读 · 0 评论 -
后缀数组 - 模板
后缀数组学习博客:博客园 - victorique的博客- 讲解非常清晰CSDN - YxuanwKeith的博客- 注释比较清晰CSDN - FSYo的博客- 板子比较清晰有点像论文的博客 - 讲的蛮全面的 http://www.cppblog.com/superKiki/archive/2010/05/15/115421.html板子:#include <iostream>#include <algorithm>#include <cstring&g原创 2021-08-14 21:36:30 · 100 阅读 · 0 评论 -
计数排序模板
#include <iostream>#include <algorithm>#include <math.h>using namespace std;const int N = 1e4+10;int x[N], cnt[N]={0}, y[N];// 原数组 出现次数 排好序的新数组// 利用出现次数的前缀和排序// 优化的话考虑最小值和最大值int main(){ int n ,mxx = -1; cin>>n;原创 2021-08-11 20:07:22 · 107 阅读 · 0 评论 -
manacher算法 - 回文串
manacher算法历史总是惊人的相似,乍一看还以为没学这里,原来是又双叒叕忘记,那就在这里复习一下代码:#include <iostream>#include <algorithm>#include<string.h>using namespace std;const int N = 1e5+10;int len[N];char a[N], b[N];// aasfaagabagaatuint manacher(char *a){ i原创 2021-08-06 16:17:57 · 86 阅读 · 0 评论 -
树状数组 :一维 + 二维
部分内容来源:bestsort的博客推荐博客:CSDN:南宮逸辰 - 彻底弄懂二维树状数组一维树状数组 sum[x] 记录的是 从1到 x,长度为lowbit(x) 的前缀和二维树状数组 sum [x] [y] 记录的是 [1,1] 到 [x,y] , 高为lowbit(y) 长为lowbit(x) 的区域区间和例题:树状数组 - 相关模板题一维树状数组图示:2进制表示lowbit()函数lowbit(x)表示 x的二进制表达式中最低位的1所对应的值int lowbit原创 2021-07-30 08:48:38 · 115 阅读 · 0 评论 -
树状数组 - 相关模板题
推荐博客:博客园:勿忘初心0924 - 树状数组总结CSDN:bestsort - 树状数组 数据结构详解与模板(可能是最详细的了)CSDN:Guess_Ha - 树状数组应用汇总(全)树状数组一维 单点修改 + 区间查询POJ 2352 - StarsHDU1166-敌兵布阵一维 区间修改+ 单点查询Acwing 242 . 一个简单的整数问题洛谷 P3368 - 树状数组 2一维 区间修改 + 区间查询洛谷 P3372 - 线段树 1二维 区间修改 + 单点查询poj 2155 Matrix一原创 2021-07-30 08:31:17 · 148 阅读 · 0 评论 -
带权并查集
带权并查集大神的博客链接在这里!权值:记录 当前结点与根结点之间的权值,用来处理结点之间的相对关系需要注意 路径压缩 、 并查集合并 、以及 判断是否符合条件 的时候路径压缩:int fin(int x){ if(fa[x] != x) { int t = fa[x]; fa[x] = fin(t); va[x] += va[t]; } return fa[x];}父节点权值先更新,子节点再更新路径压缩之后,再访问的父节点原创 2021-07-03 16:47:51 · 140 阅读 · 2 评论 -
中国剩余定理 && 扩展中国剩余定理 -- 个人理解
参考:中国剩余定理(孙子定理)参考:中国剩余定理(详解)参考:中国剩余定理算法详解(余数互质和不互质)注:理解时按上面的顺序看博客假设( a[] 为模 ,b[] 为余数)( a[] 互质情况下)x % a1 = b1x % a2 = b2x % a3 = b3求x由 a2*a3*k 为 x%a1余1的最小的数 (除a1外的a2 a3的符合要求的最小公倍数)得 a2*a3*k*b1 为 x%a1 余 b1 的最小的数 (对应上面第一个式子) 那么 x = a2*a3*k1*原创 2021-03-29 19:34:29 · 507 阅读 · 4 评论 -
扩展欧几里得算法
已知 ax + by =gcd ( a,b )int gcd(int a,int b){ if(b==0) return a; return (b,a%b);}求 ax + by =gcd ( a,b ) 式子中 x 与 y 的值int exgcd(int a,int b,int &x,int &y)//扩展欧几里得算法{ if(b==0) { x=1;y=0; return a; //到达递归边界开始向上一层返原创 2021-01-20 15:49:50 · 101 阅读 · 0 评论 -
求最大公约数--辗转相除法
原 大神博客链接!#include <iostream>#include <bits/stdc++.h>using namespace std;int f1(int m,int n){ int t; //余数,当余数为0的时候,最后的m即为最大公约数 //先用较小的数对较大的数取余,再用余数对较小的数求余,直到余数为零 while(n > 0) { t = m % n; m = n;转载 2020-11-06 21:07:33 · 152 阅读 · 0 评论 -
二分图匹配的小总结
1.匈牙利算法过山车:http://acm.hdu.edu.cn/showproblem.php?pid=2063#include <bits/stdc++.h>using namespace std;int st[550][550];//邻接矩阵int net[550],used[550];int k,n,m;int fin(int x){ for(int i=1;i<=m;i++) { if(st[x][i]&&!us原创 2021-01-22 18:07:50 · 205 阅读 · 0 评论 -
最短路 --floyd dijikstra
博客:最短路介绍图结构练习——最短路径 //oj2143这个题是无向图,所以需要两头都存: x[a][b]=x[b][a]=c;重要步骤: for(k=1; k<=n; k++) //中转点 { for(i=1; i<=n; i++) //起点 { for(j=1; j<=n; j++) //终点 { if(x[i]原创 2020-09-21 17:23:52 · 121 阅读 · 0 评论