随笔分类 - dp--区间dp
摘要:bzoj1413 洛谷P2599 根本不会啊。。。 看题解吧 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<vector> 5 using namespace std; 6 #define fi fir
阅读全文
摘要:bzoj1068 洛谷P2470 区间dp入门题?只要注意到每个M“管辖”的区间互不相交即可 错误记录:有点小坑,比如aaaacaaaac最优解为aRRcR(意会坑在哪里),踩了一次 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstrin
阅读全文
摘要:如果按照http://www.cnblogs.com/hehe54321/p/loj-1031.html的$O(n^3)$做法去做的话是会T掉的,但是实际上那个做法有优化的空间。 所有操作可以分解为由两步组成的操作:第一步是在数列的某一端取一个数并加到自己的得分上,第二步是把下一步操作的权利给自己或
阅读全文
摘要:Easy Game LightOJ - 1031 upd:似乎有复杂度更优越的做法,见http://www.cnblogs.com/hehe54321/p/8431020.html 题意:A和B玩一个游戏,A先手。规则是两人轮流在当前数列的任意一端取走任意个数(但不能两端都取),然后把这些数的和加到
阅读全文
摘要:Generating Palindromes LightOJ - 1033 题意:添加最少的字符使得给出的字符串成为回文串。输出添加的字符数。 方法:常规区间dp。ans[i][j]表示使得ans[i][j]成为回文串最少添加的字符数。如果i和j位置的字符相等那么ans[i][j]=ans[i+1]
阅读全文
摘要:The Specials Menu LightOJ - 1025 题意:在给定的字符串中删去一些字符,使其成为回文串(不能全部都删)。求方案数。 方法:常规的区间dp。ans[i][j]表示在i到j的串中删去一些使得成为回文串的方案数。 对于长度为1的串,显然只有1种方法(只保留自身)。 对于长度大
阅读全文
摘要:题意:将一个字符串分割成最少的字符串,使得分割出的每个字符串都是回文串。输出最小的分割数。 方法(自己的):先O(n^2)(用某个点或某个空区间开始,每次向左右扩展各一个的方法)处理出所有子串是否回文。然后常规区间dp,ans[i][j]表示i到j的子串的最小划分数。如果i到j的子串本身为回文串,那
阅读全文

浙公网安备 33010602011771号