给了n个(nwj,如果hi>=hj,显然符合条件,答案不需要增加。还是wi>wj,如果hi=hj,那么答案也是不需要增加。由于要使机器调整次数尽量小,因此把w降序排列,当wi=wj时,让hi>=hj(h降序排列),然后对h求最长严格上升子序列即可。#include#include#include#i...
分类:
其他好文 时间:
2015-02-11 12:13:08
阅读次数:
106
给出两个字符串(不长于1000),求最长公共子序列,要求:从每个串中取必须取连续k (1=k【代码链接】#include#include#include#include#include#include#include#include#include#include#include#include#d...
分类:
其他好文 时间:
2015-02-11 10:45:24
阅读次数:
133
说一下建图过程, 虚拟源点 s, 汇点 t 。对于猜想本来是0的人i,建边(s,i,1) ,猜想为1的 建边(i, t, 1) 。对于是一对朋友的 ,建边(i,j,1) ,(j,i,1) 。由最小割的性质=最大流。故用dinic求一次最大流即可。
VIEW CODE
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2015-02-04 16:42:59
阅读次数:
177
虚树+树形DP 本题100W的点数……不用虚树真的好吗…… Orz ZYF我的感悟: dp的过程跟SPOJ 1825 FTOUR2 的做法类似,依次枚举每个子树,从当前子树和之前的部分中各找一条最长(短)路径更新答案,再把这个子树的最短路径加入到x节点中去(之前算过的部分)这样就实现了枚举所有...
分类:
其他好文 时间:
2015-02-02 21:25:55
阅读次数:
528
题目链接:http://www.spoj.com/problems/COT3/Alice and Bob are playing a game on a tree of n nodes.Each node is either black or white initially.They take tu...
分类:
其他好文 时间:
2015-02-01 23:19:06
阅读次数:
986
题目链接:http://www.spoj.com/problems/COT2/You are given a tree withNnodes.The tree nodes are numbered from1toN.Each node has an integer weight.We will as...
分类:
其他好文 时间:
2015-02-01 18:58:15
阅读次数:
170
题目大意:给定N个串,求每个串至少出现两次的最长子串。
解题思路:每个字符串至少出现两次且不可重叠的最长子串:二分枚举长度后在同一分组中对每一个字符串保留一个最小的位置和一个最大的位置,最后查看是否每个串在同一组中都有至少两个后缀,并且后缀的坐标差大于枚举的长度。
POJ Problem Set (classical)
220. Relevant Phrases of Annihil...
分类:
编程语言 时间:
2015-01-27 18:28:33
阅读次数:
193
题目大意:给你一个串让你求出重复次数最多的连续重复子串的重复次数。
解题思路:论文上给出的解答是:
这还没完,因为经过这两个点的情况还不完备,应还可以假设起点在 [ i*j-i+1, i*j-d],其中 d = i-L/i (d = i-L%i)其意义为根据已知的匹配长度,可以将起点往前移动的范围,太靠后将不能够构造出比之前更好的解。如果要求出某个最多的连续重复子串的最小字典序子需要枚...
分类:
编程语言 时间:
2015-01-26 17:10:25
阅读次数:
296
题目大意:给定长度为N的字符串,求出其中不相同子串的个数。
解题思路:每一个字串一定是某个后缀的前缀,那么原问题就可以等价于求所有后缀之间的不相同的前缀的个数。如果所有的后缀按照suffix(sa[1]),suffix(sa[2])……suffix(sa[n])的顺序计算,我们会发现对于每个新加进来的后缀suffix(sa[k]),它将产生n-sa[k]+1个新的前缀。但是其中有leight[k...
分类:
编程语言 时间:
2015-01-22 20:18:15
阅读次数:
276
题目大意:给出一些字符串,给出一些询问,每次问当前串在源串中的几个中出现过。
思路:将所有源串建立广义后缀自动机。每次新的一个串的时候,把last清成root,往里面加的时候,如果last指针往下走的时候已经有节点了,就需要拓展一个新的节点出来,否则就不满足广义后缀自动机的性质。此外,每一个节点代表的不一定是一个串,可能代表的是多个串的子串,所以要在每个点后面挂链,来表示这个节点是属于哪...
分类:
其他好文 时间:
2015-01-21 11:52:46
阅读次数:
1125