POJ
文章平均质量分 70
calabash_boy
退役
展开
-
POJ 3281:最大流
题意:有N个牛,F个食物,D个饮料,每个牛喜欢一些食物和饮料,现在要给牛分发食物和饮料,当一个牛得到一个喜欢的食物和一个喜欢的饮料的时候,就说这个牛被满足了。求最多可以满足多少个牛。每个饮料和食物只能被分给一个牛,每个牛也只能拿到一个饮料和食物。题解:按流建图,一个合法的流应该是:一个牛以及一个喜欢的饮料一个喜欢的食物。一头牛贡献一单位的流量,所以把牛拆了,中间加一个1容量的边,然后起原创 2017-11-01 22:26:59 · 343 阅读 · 0 评论 -
POJ 1743:后缀数组求 不重叠最长重复子串
题意:给出一个数列,每个数字在[ 1 , 88 ]之间,每个数字对应钢琴的一个按键。定义相同的旋律为:[ i , i+len-1 ]区间 和 [ j , j+len-1 ]区间对应位置每个字符,差值恒定相等,且这两个区间不想交。就是说第一个区间每个数字加上一个delta,会变成第二个区间。求最长的旋律长度,如果小于5,输出0.否则输出最长的相同旋律的长度。题解:考虑查分数列。两段旋律相原创 2017-09-13 23:21:18 · 451 阅读 · 0 评论 -
POJ2144 轮廓线DP
题意:只用1X2和2X1两种形状的方块填充满MXN这么大的棋盘,求方案数,会有很多组询问(M,N题解:用轮廓线DP,用一个至多11个位的数字表示轮廓状态压缩成一维。并且对于每个棋盘上的点,都有完整的这么多状态。考虑每一行开头那个点,需要用到上一行结束那个点的轮廓状态来转移自己的轮廓状态。而每一行后边的点,都是用他左边这个点的轮廓状态来转移自己。因此显然可以滚动数组。而且用滚动数组处理起来更方便原创 2017-08-24 00:59:42 · 446 阅读 · 0 评论 -
POJ2104:划分树求区间第k小
题意:给出n个数字(n题解:POJ数据水是出了名的。这个题甚至可以对每次询问把元素拷贝出来排个序搞定。。但是我拿这个题搞了搞划分树模板。划分树是一个二叉树,每个节点保存一段区间。build每次把一个区间[ L , R ]划分成两个区间[ L, Mid ]和[ Mid+1 , R ](让一些数字进入左子区间,剩下的进入右子区间)使得 左子区间的每个数字 都不大于 右子区间的每个数字。同时数字原创 2017-08-29 00:28:49 · 380 阅读 · 0 评论 -
POJ 3764:01字典树
题意:给出一棵树,每条边有一个权,求出树上一个路径,使得这个路径上所有边的抑或和最大。题解:以1为根,把每个点到根的抑或和算出来,全插到01字典树,然后再拿着每个点的值去查就行了。复杂度n*32*2。别忘了把根=0插进去。注意:POJ不给开O2,自己代码里开也没用,STL(vector)会被卡Code:#include#include#includeusing原创 2017-09-03 13:41:23 · 262 阅读 · 0 评论 -
POJ 1741:点分治详解
题意:给出一个n(点分治:顾名思义,点分治就是对点进行分治,一般用于路经统计问题。对每个点而言,一条路径要么经过他,要么不经过他,这就是分,即分成路径经过此点和不经过此点。基本思想是:当经过某点的路径可以比较方便快速统计的情况下,通过对点进行分治,把树的规模不断变小。考虑这样做的好处:把树看作无根树,除了叶子结点外,去掉任意一个点,都可以把一棵树分裂成若干规模更小的树。然后原创 2017-09-04 13:33:03 · 1085 阅读 · 0 评论 -
POJ 3261 二分+后缀数组
题意:求一个串的最长的出现不少于K次的子串长度。题解:后缀自动机可以统计一个子串出现多少次。如果这个子串出现不少于K次。那么h数组必定有连续的k-1个不少于K。嗯。。。再来一个二分答案。。。就这么玩就行了Code:#include#include#include#includeusing namespace std;#define rank rkcons原创 2017-09-15 23:27:58 · 235 阅读 · 0 评论 -
POJ 1509 后缀自动机
题意:给出一个圆圈,圆圈上顺时针有一些字符,现在要从某个字符前边断开,得到一个以这个字符开头的字符串,使得得到的字符串字典序最小。如果多解,输出最小的断点。题解:把字符串copy一次,放到原串后边,使得长度*2,然后放到SAM中,从Root开始按照字典序走贪心len步(如果不能走就提前break) 搞定。Code:#include#includeusing na原创 2017-09-19 22:49:41 · 379 阅读 · 0 评论 -
POJ 3436:拆点最大流
题意:一个电脑有P个部件组成,刚开始所有电脑都是空壳子,当一个电脑具备了所有的N个部件则认为这个电脑早好了。现在有一些机器专门加工电脑,每个机器可以加工某一些特性状态原型机,比如必须具备1部件,必须没有3部件,2部件有没有都行,然后这些原型机经过这个机器的加工,就会变成一种特定状态,比如具备123部件,没有45部件。每个机器每小时可以加工qi个原型机。求出每小时最多生产多少个成品机。以及流水线原创 2017-11-01 18:41:30 · 330 阅读 · 0 评论 -
BZOJ 1023 [SHOI2008]cactus仙人掌图:圆方树+单调队列DP
题目传送门题意:给出一个仙人掌图,边权都为1,求其直径。 仙人掌图:无向图的每条边至多存在于一个简单环中。 仙人掌图直径:Max(dis(u,v)) 1<= u < v <=n。dis(u,v)是u、v之间的最短路径。题解:先考虑退化情况:仙人掌退化为一棵树。很显然可以通过一个树形DP来解决,讨论路径的形态:1、分跨在一个点的两个子树中2、...原创 2018-04-18 17:32:27 · 623 阅读 · 0 评论