摘要: n<=50000个点的树,求选最多不相邻点的个数。 f[i][0]=sigma max(f[j][0],f[j][1]),j为i的儿子 f[i][1]=sigma f[j][0],j同上 死于未初始化。不要歧视水题。 1 #include<cstdio> 2 #include<cstring> 3 阅读全文
posted @ 2017-07-26 17:39 Blue233333 阅读(186) 评论(0) 推荐(0) 编辑
摘要: n<=1000而m<=10000的DAG中求从n到1的前K<=100短路,不存在输出-1。 方法一:之前写过“第二短路”,比较2次;如果是要“前K短路”的话,dis需要是一个支持查找、插入(找到一个新的第u大,u<=K,需要插入u)、删除(插入后把最后一个删除)的东西,那就Treap或者Splay乱 阅读全文
posted @ 2017-07-26 17:15 Blue233333 阅读(282) 评论(0) 推荐(0) 编辑
摘要: len<=2000的字符串上,给出删掉和添加每种字符的花费,求把字符串变成回文串的最小花费。 首先每个字符添加和删除是一样的,因此花费在添加和删掉每个字符的花费中取小的。 如果每个字符的花费都是1,就是找最长回文串再用len减掉即可。(manacher!) 加了花费同理,就是找“最大权回文串”再用每 阅读全文
posted @ 2017-07-26 11:14 Blue233333 阅读(245) 评论(0) 推荐(0) 编辑