
poj
文章平均质量分 56
zz_ylolita
这个作者很懒,什么都没留下…
展开
-
poj2135Farm Tour——最小费用最大流
题目要求从1到n走一遍再从n到1走一遍而且有重边,相当于从1到n走两边所以加一个源点01,费用为0,流量为2加一个汇点n+1n,费用为0,流量为2中间的边流量为1(只走一遍),费用为c然后一遍0->n+1的费用流要注意是无向图,所以一个输入有4条边a->b ,c,1b->a ,-c,0b->a ,c,1a->b ,c,0type point=reco原创 2015-03-16 23:43:44 · 557 阅读 · 0 评论 -
poj1149 PIGS-Dinic模板
这道题的建图比较有趣,流入猪圈的和流入超级汇点的是常规的建法,然后根据题目性质,除了在猪圈和有相应钥匙的人之间连边,同时也在依次同一个猪圈买猪的人之间依次连边,因为这样可以保证上一个人打开的猪圈剩下的猪可以流向下一个人,对公共的猪圈而言,是剩下的猪流向下一个人。这样就符合题意了。加当前弧优化的Dinic&i居然是参变量可以让等于它的变量的值跟着改。#include #原创 2016-03-02 18:49:02 · 711 阅读 · 0 评论 -
poj2406—KMP next数组的性质求最小周期
题目大意:给出一个字符串,求它最多有几个连续子串构成分析:KMP求最小周期——结论:如果一个字符串有最小周期,那么最小周期为n-next[n]考虑整个串,根据next数组的定义,前后匹配并且前缀和相等的最长的后缀之间没有交叉,那么相等的部分的长度为next[n],并且从左往右相等。如果希望中间的也是有s[1..next[n]]的几个循环组成,那么整个串就以next[n]为最小周原创 2016-02-10 22:37:57 · 1605 阅读 · 0 评论 -
KMP算法
Matrix67教你KMP 详细介绍KMP的地方练习:poj3461题目大意:给出两个字符串p和s,求出p在s中出现的次数#include #include #include #include using namespace std;char p[10010],s[1000010];int next[10010];int lenp,lens,ans,m;void原创 2016-02-10 21:23:40 · 370 阅读 · 0 评论 -
poj3461—KMP裸题
题目大意:给出两个字符串p和s,求出p在s中出现的次数#include #include #include #include using namespace std;char p[10010],s[1000010];int next[10010];int lenp,lens,ans,m;void getnext(){ next[0]=-1; int j=-原创 2016-02-10 22:36:22 · 1037 阅读 · 0 评论 -
poj1151矩形面积并
学习了一种新的离散化第一次写有关线段的线段树个人理解的扫描线:每添加一条边(或权值)就算当前这一部分的东西,然后再添加,一个循环#include #include #include #include #include using namespace std;#define MAXN 200int n,T,t;double x1,x2,y1,y2,ans;struct原创 2015-08-19 00:28:03 · 452 阅读 · 0 评论 -
poj2182
题目大意:有n头牛,给出从第二头牛开始每头牛前面有多少头牛编号比自己小。求牛的编号。分析:每次最后一头牛的编号为当前可用编号中排在第a[i]+1的数。-------->线段树 O(nlogn)维护一个区间内还有多少个数可以用(因为要求可以用的第k个数)。#include #include #include #include using namespace std;st原创 2015-09-01 23:30:57 · 1259 阅读 · 0 评论 -
poj1179polygon
只要注意负负得正,所以要保存最大和最小值但我一开始区间起始位置枚举没有写到2*n-1,使得后面的小区间没有办法枚举到,然后WA了痛定思痛!program polygon;var n,l,i,j,k,t:longint; maxx:int64; ch:char; f,g:array[0..150,0..150]of longint; b:array[0..1原创 2015-07-20 00:03:23 · 625 阅读 · 0 评论 -
poj题目分类
初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法:转载 2015-05-09 23:36:17 · 778 阅读 · 0 评论 -
splay__poj3580
这真是很让人难过的一道题。。。。。但是我要硬着头皮写完splay TwT题目要求实现一种数据结构,支持6种操作: add x,y D:第x个数到第y个数之间的数每个加D; reverse x y:第x个数到第y个数之间全部数翻转; revolve x y T:第x个数到第y个数之间的数,向后循环流动T次,即后面T个数变成这段子序列的最前面T个,前面的被挤到后面。 Insert x P:在第x原创 2015-04-04 20:49:08 · 805 阅读 · 0 评论 -
poj3264
水一发线段树,顺便复习(骗经验)...宝宝还是想好好走下去^ ^#include #include #include #include using namespace std;#define N 50010int n,q,x,y,m1,m2;int a[N];struct node{ int l,r,m1,m2,num;}tr[N*4];void updata(in原创 2016-07-21 15:09:33 · 444 阅读 · 0 评论