基础算法
文章平均质量分 77
delayyy
这个作者很懒,什么都没留下…
展开
-
Miller Robin素数测试与Pollcard Rho因数分解
预备算法LL mul(LL a, LL b, LL p){ LL rn=0, i; for(i=1; i<=b; i<<=1,a=(a+a)%p) if(b&i) rn=(rn+a)%p; return rn;} // 计算模意义下两大数乘积LL ksm(LL a, LL b, LL p){ LL rn=1; for(; b;原创 2013-03-04 14:16:34 · 1889 阅读 · 4 评论 -
【模板】后缀数组
串处理问题神器,RMQ预处理后能O(1)回答俩后缀的LCP。另外有一种常见处理方法:二分LCP长度H,将sa分块,则每一块内的后缀同且仅同当前块内的另一后缀LCP>=H。还有一种常见思考方法:考虑贡献值。Code:#include#include#includeusing namespace std;const int SN=100010;int原创 2013-02-20 23:58:03 · 501 阅读 · 0 评论 -
【模版】计算几何
#include#include#includeusing namespace std;const double oo=1e19, pi=acos(-1), eps=1e-10;struct dbl { double x,y; };struct line { dbl P,v; };struct circle { dbl O; double r; };dbl operator +原创 2013-02-18 19:05:32 · 467 阅读 · 0 评论 -
FFT快速傅里叶变换
这一周一直在研究FFT……与其说是一周在研究,不如说是研究了2天调试了某蛋疼错误5天。 >_不得不说FFT的思想真是太神了,基本介绍这里就不写了,盾哥(FFT csdn jasonzhu8)和秋哥(FFT neroysq)写的已经很清楚了。于是简单总结一下。 >_FFT处理多项式乘法,利用点值乘法的方便性,在点值和系数表示之间转换,从而得以加速。所选点取复数原创 2013-02-27 22:53:34 · 1372 阅读 · 1 评论 -
求一般电路的两点间电阻——高斯消元法
题目描述:以带权图的形式给出一个用n个结点和m个电阻连接的电路,求点1与点n两点间的电阻。问题分析:省队集训居然会出这种学霸题——太坑爹了啊= =!考的时候完全不会。解法基于两个事实:1.:所有点的电流总流入等于总流出(除了1和n两点)。2.:I=U/R=(Ex-Ey)/R因为电流方向不好确定,不妨令电流可正可负,那么定律1可以表示成“总流出原创 2013-03-19 15:48:54 · 2140 阅读 · 0 评论 -
最小矩阵差——有上下界的网络流问题
题目描述:给定一个n*m(n.mMax{ max {|∑(A ij − B ij )|} 1≤j≤ m max {|∑(A ij − B ij ) |} 1≤i≤n题目分析这题的形式十分像线性规划问题,因此可以考虑用网络流。网络流处理矩阵类问题的一种经典做法是——开一排表示行的节点,开一排表示列的节点,然后balabala……于是这题的模型大概就出来原创 2013-03-11 17:30:31 · 1277 阅读 · 2 评论 -
【模板】网络流
1.边从2标号算起,j和j^1互为反边。 2.棋盘一般都是二分图模型,连边注意方向! 3.分配限制用最大流卡流,取舍限制用最小割决策。 常见模型:最大匹配模型、最小割模型、最小路径覆盖模型有时候需要配合二分。Code:#include#includeusing namespace std;const int Sn = 10010, Sm原创 2013-02-23 07:48:14 · 693 阅读 · 0 评论