【模板】
文章平均质量分 75
chm517
这个作者很懒,什么都没留下…
展开
-
##单调队列、斜率优化##
单调队列的习题有:原创 2014-04-26 21:38:03 · 401 阅读 · 0 评论 -
##TwoSet##
struct twoset{ int n; bool mark[N<<1]; int S[N<<1],c; vector g[N<<1]; bool dfs(int x) { if (mark[x^1]) return 0; if (mark[x]) return 1; mark[x]=1;原创 2014-08-20 16:00:27 · 412 阅读 · 0 评论 -
##单纯形法##
/* * Description: * 线性规划 单纯形法实现 * Usage: * MAXN:最大变量个数 * MAXE:最大不等式个数 * n=变量个数,m=不等式个数 * 目标函数为 sum{x[i]*A[0][i];0<=i<n}+A[0][n] * 约束条件为 * 1) x[i]>=0 for 0<=i<n * 2) sum{x[i]*A[原创 2015-04-15 17:15:35 · 606 阅读 · 0 评论 -
##差分约束系统##
//差分约束系统 //构图:对于每一个A-B>=C的不等式,从A到B连一条权值为-C的边 //求解:以0(1)为源点即d[0(1)]=0,求最短路,d[n]就是所求的值的上界(即最大值); 以n为源点即d[n]=0,求最短路,-d[0(1)]就是所求的值的下界(即最小值) //上下界的证明详见百度百科http://baike.baidu.com/view/1008149.htm(倒数几原创 2013-07-28 21:19:53 · 459 阅读 · 0 评论 -
##数论模版##
/**************以下为常用算法************/ //把n的约数的莫比乌斯函数值用map的形式返回O(sqrt(n)) map<int,int > moebius (int n) { map<int,int > res; vector<int > pri; for (int i=2;i*i<=n;i++) ...原创 2014-09-16 13:48:38 · 468 阅读 · 0 评论 -
##概率dp##
参考http://www.cnblogs.com/SolarWings/archive/2013/04/24/3040784.html 概率dp 两种求法 (以hdu4050为例子) 求法1:初始状态(dp[0])概率为1,求dp[j]时会用到dp[i](j>i), ans=所有概率的累加(except初始的1) 求法2:终状态(dp[n])期望为0,求dp[j]时会用到dp[i](j原创 2014-02-02 16:41:05 · 505 阅读 · 0 评论 -
##区间dp##
区间dp dp[N][N]([…]),记忆化搜索 由于dp[i][j] 转移往往需要枚举k,通常是O(N^3),N不超过200 当然也有不需要枚举的O(N^2) 待做: 1、搞懂四边形不等式,把石子归并优化到O(N^2),POJ 1738...石子归并竟然还有O(Nlog2N)的算法 Light oj 1422 【题意】有个人要参加好多场舞会,需要穿的类型依次为a[i原创 2014-01-21 21:45:46 · 445 阅读 · 0 评论 -
##位运算若干应用##
//把右起第一个0变成1 | (100101111->100111111) | x or (x+1) //把右边连续的0变成1 | (11011000->11011111) | x or (x-1) //取右边连续的1 | (100101111->1111) | (x xor (x+1)) shr 1 //取右起的第一个1 |原创 2014-09-09 22:12:40 · 353 阅读 · 0 评论 -
##连通性##
struct edge{ int to,next,num; //增设num为判重边 }e[M]; void add(int x,int y,int m) { e[o].to=y; e[o].next=head[x]; e[o].num=m; head[x]=o++; } scanf("%d%d",&x,&y);{add(x,y,i); add(y,x,i)原创 2014-08-08 15:38:24 · 369 阅读 · 0 评论 -
##二分图##
//algo2: //Hopcroft_Carp //O(n^(1/2)*m) struct Hopcroft_Carp{ bool g[MAXN][MAXN]; int Mx[MAXN],My[MAXN],nx,ny; int dx[MAXN],dy[MAXN],dis; bool vst[MAXN]; void init(int x,int y)原创 2014-07-21 14:55:34 · 398 阅读 · 0 评论 -
##高斯消元##
参考 http://www.cnblogs.com/kuangbin/archive/2012/09/01/2667044.html //模板1:整数方程求整数解 #include #include #include #include #include using namespace std; const int MAXN=50; int a[MAXN][MAXN];//增广矩阵 int x[M原创 2014-03-04 21:00:01 · 488 阅读 · 0 评论 -
##网络流##
#include #include #include #include #include #include #include #include #include #define pb push_back #define mp make_pair #define eps 1e-9 #define zero(x) (fabs(x)<eps) #define pi acos(-1.0)原创 2014-07-16 15:46:14 · 480 阅读 · 0 评论 -
##圆与三角形交##
Point Zero=Point(0,0); d_ common_area(Circle C,Point A,Point B) { // if(A==B) return 0; if(A==C.c||B==C.c) return 0; d_ OA=length(A-C.c),OB=length(B-C.c); d_ d=distance_to_Line原创 2015-03-02 02:13:45 · 359 阅读 · 0 评论