随笔分类 - My acm模板
摘要:具体学习参考https://blog.csdn.net/qq_32400847/article/details/51469917#include#include#include#include#include#includeusing namespace std;st...
阅读全文
摘要:具体学习参考https://blog.csdn.net/qq_34374664/article/details/77488976/** Tarjan 算法* 复杂度 O(N+M)*/#includeusing namespace std;const int MAXN ...
阅读全文
摘要:判定一个图是否为二分图 从其中一个定点开始,将跟它邻接的点染成与其不同的颜色,最后如果邻接的点有相同颜色,则说明不是二分图,每次用bfs遍历即可。 #include #include #include using namespace std; const...
阅读全文
摘要:/* next[] 的含义:x[i-next[i]...i-1]=x[0...next[i]-1]next[i] 为满足 x[i-z...i-1]=x[0...z-1] 的最大 z 值(就是 x 的自身匹配)*/void kmp_pre(char x[],int m,...
阅读全文
摘要://组合数C(n,k)ll C(ll n,ll k){ if(2*k>n) k=n-k; ll s=1; for(ll i=1,j=n; i<=k; i++,j--) s=s*j/i; return s;}//排列数A(n,r)l...
阅读全文
摘要:#include #include // 最大顶点数const int V = 100000;// 最大边数const int E = 100000;// 边结构体的定义struct Edge { int to; // 表示这条边的另外一个顶点 ...
阅读全文
摘要:具体学习参考https://blog.csdn.net/creatorx/article/details/71100840模板来自kuangbin大神,HDU2222模板题//======================// HDU 2222// 求目标串中出现了几个...
阅读全文
摘要:学习参考https://blog.csdn.net/pengwill97/article/details/77200372 浮点数: #define eps 1e − 9const int MAXN=220;double a[MAXN][MAXN],x[MAXN];/...
阅读全文
摘要:字典树具体学习参考https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html 查找字符串是否出现 /* trie tree的储存方式:将字母储存在边上,边的节点连接与它相连的字母 trie[rt][x]=tot:...
阅读全文
摘要:int pre[maxn];void init(){ for(int i=0;i<maxn;i++) { pre[i]=i; }}int Find(int x){ int p=x,tmp; while(x!=pre[x]) ...
阅读全文
摘要:算法思想:在一个有向图中,我们一定可以找到这样一个合理顺序,使得我们只需要按照这个顺序进行dfs遍历,那么每一次的dfs就可以使我们得到一个scc。合理顺序参考https://www.cnblogs.com/nullzx/p/6437926.html经过简单的分析我们...
阅读全文
摘要:#include #include #include int mp[100][100];int visit[100];void dfs(int x,int n){ int i; visit[x]=1; for(i=1;i<=n;i++) { ...
阅读全文
摘要:算法:dfn【u】为dfs遍历中u是第几个被访问到的。low【u】为该dfs u可以到达的访问时间最早的祖先的深度。首先,对图进行一次dfs遍历,可以得到每个点的dfn和low。考察所有点u和它在dfs树中的儿子节点s1,s2……sk。(1)如果对于某个si,满足lo...
阅读全文
摘要:讲解:传送门const int maxn=50005;const double eps=1e-8;int tree[maxn];inline int lowbit(int x){ return x&-x;}void add(int x,int value) //...
阅读全文
摘要:堆是完全二叉树,左孩子是2i,右孩子是2i+1。用途:堆排序,实现优先队列插入删除查找时间复杂度:O(logn)堆排序复杂度:O(nlogn)/**** **** **** **** **** ***** Function Name : 二叉堆* Descriptio...
阅读全文
摘要:#includeusing namespace std;#define inf 0x3f3f3f3f#define ll long long#define fo freopen("in.txt","r",stdin)#define fc fclose(stdin)#d...
阅读全文
摘要:const int MAXN = 1000000;bool check[MAXN+10];int prime[MAXN+10];int mu[MAXN+10];void Moblus(){ memset(check,false,sizeof(check)); ...
阅读全文
摘要:ll kgcd(ll a,ll b,ll &x,ll &y)//扩欧{ if(!b) { x=1;y=0;return a; } ll t=kgcd(g,a%b,y,x); y-=a/b*x; return t;}ll...
阅读全文
摘要:ll qpow(ll a,ll b,ll M) //快速幂{ ll ans =1; while(b) { if(b&1) ans*=a;ans%=M; a*=a;a%=M;b>>=1; } ...
阅读全文
摘要:快速幂求n^n:int f1(int a,int b){ int t=1; while(b) { if(b % 2 != 0) { t*=a; b--; ...
阅读全文

浙公网安备 33010602011771号