摘要:前面的的几篇关于网络流的我被坑了,原来我用的算法叫做EK下面总结下网络流的模板吧 1 #include <iostream> 2 #include <queue> 3 //#include <conio.h> 4 using namespace std; 5 #define arraysize 201 6 int maxData = 0x7fffffff; 7 int capacity[arraysize][arraysize]; //记录残留网络的容量 8 int flow[arraysize]; //标记从源点到当前节点实际还剩多少流量可用 9 int
阅读全文
摘要:还是自己总结下一些简答的东西吧,留着以后用long long gcd (long long a,long long b){ return b==0?a:gcd(b,a%b);}第一次调用的时候a是大于b的,因为这里会判断b==0?,所以第一步要先判断下
阅读全文
摘要:转自:关于什么是母函数 , 以及在现实生活中的应用 , 请大家详看 或者 HDU 母函数 PPT:http://www.cppblog.com/MiYu/archive/2010/08/05/122290.html对于给出的母函数模板 , 让人理解起来比较费劲的!以下给出几种解释 , 和自己理解!//made by syx //time 2010年9月11日 10:17:27//母函数例题/*//整数拆分模板#include <iostream>using namespace std;const int lmax=10000;//c1是用来存放展开式的系数的,而c2则是用来计算时保
阅读全文
摘要:尼玛,无力吐槽,搞了几个小时,没想到是输出Case 时出错这种类型是线段树,关于线段树,线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,因此有时需要离散化让空间压缩。参照这个图理解下建树:void build(in..
阅读全文
摘要:int exp_mod(int a,int b,int n){ int r=1; while(b) { if(b&1)r=(r*a)%n; a=(a*a)%n; b>>=1; } return r; } a^b%n利用二进制扫描的方法快速的计算abmod c,显然用常规方法计算74237mod 4233计算量过大。基本原理:(a×b)mod c=((amod c)×b)mod c例如:35mod 7=3(101)2mod 7=((3(100)2mod 7)×3)mod 7=((9(10)2mod 7)×3...
阅读全文