acm模板学习
Togt
这个作者很懒,什么都没留下…
展开
-
kmp简洁模板(水题入门)
poj2406 题意:求循环节的个数#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=10000005;char s[maxn];int next[maxn];void getnext(){ int len=...原创 2018-05-10 10:41:03 · 530 阅读 · 0 评论 -
FFT+NTT自学笔记(大数乘积模板)
学习步骤1.回顾一下复数的指数表示形式:常规表示: z=a+ib;z=a+ib;z=a+ib; 指数表示: z=reiθ;z=reiθ;z=re^{iθ}; 其中,r为z的模,θ为辐角主值。 z=r(cosθ+isinθ)=reiθz=r(cosθ+isinθ)=reiθz=r(cosθ+isinθ)=re^{iθ} ,欧拉公式2.快速傅里叶变换要解决的问题:计算多项式乘...原创 2018-05-10 13:32:25 · 1490 阅读 · 0 评论 -
tarjan学习以及模板总结
tarjan无向图割点:删掉某点后的联通块增加 桥:删掉某边后的联通快增加 点双联通图:删除某点后依然联通的图(或者没有割点的图) 边双联通图:删除某边后依然联通的图(或者没有桥的图) 双联通分量:点或者边的极大双联通分量 缩点:将一个联通分量等价成一个点有向图强连通:在有向图中如果两点间至少存在一条路径,则称两个顶点强连通 强连通图:任意两点都强联通的图 强...原创 2018-05-20 00:46:10 · 146 阅读 · 0 评论 -
poj3233矩阵快速幂(模板)
题意:给定一个n*n的矩阵A,求S=A+A2+A4+..+AkS=A+A2+A4+..+AkS=A+A^2+A^4+..+A^k(每个元素mod m)题解:矩阵快速幂: 设Sk=I+A+A2+A4+..+AkSk=I+A+A2+A4+..+AkSk=I+A+A^2+A^4+..+A^k,其中III为单位矩阵#include<iostream>#include<cs...原创 2018-05-07 00:40:47 · 208 阅读 · 0 评论 -
网络流入门
贴一个网络流详解gap优化之最大流(能解决几乎所有最大流问题)简述一下:首先反向给节点标号,然后,正向跑,过程中用gap判断是否有断层,即达到优化的效果。const int maxn = 1200;const int maxe = 500000;const int inf = 1&lt;&lt;30;struct Edge{ int v,cap,next;}edge...原创 2018-05-20 00:45:55 · 129 阅读 · 0 评论 -
manacher(最大回文串算法+手写模板)
poj3976 题意:求每个串的最大回文串长度。 这是一份通过manache算法理解过后手动模拟的算法,纯手写,便于理解#include<iostream>#include<cstdio>#include<cstring>using namespace std;char ch[2000005];int hui[2000005];char ca...原创 2018-05-20 00:05:06 · 303 阅读 · 0 评论