摘要: 很久以前写的,忘补结题报告了两串相连中间用特殊的分隔符然后求height,由于要求求公共子串大于等于k的个数,并且只要位置不同即可因此不难想到在名次上对height分组,一组内的height保证>=k下面就是在组内统计的问题了然后还是不难发现,分别在AB串中的后缀i,j,他们能产生2*[LCP(i,... 阅读全文
posted @ 2015-01-31 23:55 acphile 阅读(159) 评论(0) 推荐(0)
摘要: 很久以前写的,忘补解题报告了首先似乎dfs就可以了吧?但还有更高大上的做法其实这东西就是告诉sum[y]-sum[x-1]=z然后给出一堆看成不成立可以用并查集,维护每个点到father点的差即可 1 var sum,fa:array[0..1010] of longint; 2 i,t,n... 阅读全文
posted @ 2015-01-31 23:30 acphile 阅读(198) 评论(0) 推荐(0)
摘要: 树链剖分在边上的应用比维护点稍微麻烦一点,是对每条边标号,并且要记录每个点父亲边的编号和重儿子然后注意各种细节线段树上和bzoj1858的维护方法类似,覆盖的优先级高于加具体见程序,完全是为了提升状态的练习 1 type node=record 2 po,next,num:long... 阅读全文
posted @ 2015-01-31 23:27 acphile 阅读(207) 评论(0) 推荐(0)
摘要: 悲伤地回忆,当初写了一个作死的算法爆零了为什么不好好写暴力呢……显然设w[i]表示彻底干掉这个怪物的代价注意发现这里的转移具有后效性,但是干掉每个怪物的最优值是一定的我们用spfa来转移,详见那篇spfa的论文 1 type node=record 2 po,next:longint;... 阅读全文
posted @ 2015-01-31 23:25 acphile 阅读(138) 评论(0) 推荐(0)
摘要: 不高兴的回忆啊啊啊当初这种简单题因为自己作死就暴零0了这题在OJ上是简单的最小有下界费用流,增广到正费用为止因为算的是总时限但实际的话似乎要用pacman吃豆豆那题的方法先用dp跑出第一次的增广路再用spfa增广 1 const inf=420007; 2 type node=record 3... 阅读全文
posted @ 2015-01-31 23:22 acphile 阅读(188) 评论(0) 推荐(0)
摘要: 括号序列的经典做法把(看成1,)看成-1匹配的括号序列即任意前缀和都非负我们先解决静态的问题,给定一段括号序列求最少修改次数我们先找出最大后缀和a和最小前缀和b之间一定可以不相交显然a+|b|个括号是未匹配的显然修改即为(|b|+1) div 2+(a+1) div 2;由于序列的变化,我们用spl... 阅读全文
posted @ 2015-01-31 23:19 acphile 阅读(151) 评论(0) 推荐(0)