题目:给你一个字符串,可以进行增删改三种操作,问变成回文串最少的操作次数。
分析:动态规划,dp,LCS。可以利用区间dp求解,这里利用LCS求解更快。
利用字符串和自己的翻转求最大公共子序列,然后枚举所有的dp[i][len-i],
找最小的即可。注意可能最小值在dp[i-1][len-i],即str[i]为中间元素,不用匹配。
说明:注意...
分类:
其他好文 时间:
2015-06-23 15:38:53
阅读次数:
77
http://codevs.cn/problem/3304/题解
本题是一道明显的区间查询问题,可以很快想到线段树之类的数据结构。(不知为什么分到了区间dp里,预处理至少O(n2)O(n^2),dp真的能过吗?)
首先是建树。由题意,显然每个结点都应包括区间左端点、右端点、最大值、最小值,由于要走单向的路线,所以还应该有区间从左到右走的最大差值和从右到左走的最大差值。其中max和min的值很容易维...
分类:
其他好文 时间:
2015-06-21 11:58:05
阅读次数:
140
Dylans loves sequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 114 Accepted Submission(s): 59
Problem Description
Dylans is...
分类:
其他好文 时间:
2015-06-21 02:09:26
阅读次数:
115
??
给定n个数字,A和B可以从这串数字的两端任意选数字,一次只能从一端选取。并且A B都尽力使自己选择的结果为最大的,可以理解成A B每一步走的都是最优的。如果A先选择,则A
B差值最大是多少。
思路:用d[i][j]表示当前选手先手走能获得的最大总分数,由于总的分数是一定的,那么状态转移方程为
d[i][j] = sum(i, j) - min( minleft(i+1, j), m...
分类:
其他好文 时间:
2015-06-20 07:01:57
阅读次数:
152
题目链接:http://lightoj.com/volume_showproblem.php?problem=1422解法:dp[i][j]=min(1+dp[i+1][j],dp[i+1][k-1]+dp[k][j]) 代码:#include
#include
#include
#include
#include <co...
分类:
其他好文 时间:
2015-06-18 09:40:48
阅读次数:
125
题目链接:http://poj.org/problem?id=2955题意:求回文子串的最大长度。解法:枚举区间长度,更新答案。代码:#include
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2015-06-17 21:36:46
阅读次数:
99
http://codevs.cn/problem/1029/
给出一棵二叉树(节点是小写字符)的按照先序遍历和后续遍历得到的字符串,其实就是求有多少和二叉树的先序遍历和后序遍历满足这两个字符串。
区间dp:dp(l, r, a, b)表示s字符串的(l, r)段和t字符串的(a, b)段相匹配的方案数。那么s[l]和t[b]必须一样,因为这两个是这一段的根节点。然后我们再枚举(l,r)的左...
分类:
其他好文 时间:
2015-06-15 09:23:06
阅读次数:
117
http://codevs.cn/problem/1029/给出一棵二叉树(节点是小写字符)的按照先序遍历和后续遍历得到的字符串,其实就是求有多少和二叉树的先序遍历和后序遍历满足这两个字符串。区间dp:dp(l, r, a, b)表示s字符串的(l, r)段和t字符串的(a, b)段相匹配的方案数。...
分类:
其他好文 时间:
2015-06-14 22:40:20
阅读次数:
153
羞耻,分组赛上考的,竟然没想出来,对坐标离散化后区间dp即可 1 const inf=100000007; 2 var f:array[0..610,0..610] of longint; 3 v:array[0..10010] of longint; 4 a,b,h:array[0...
分类:
其他好文 时间:
2015-06-13 12:45:13
阅读次数:
95
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1033
题意:至少添加几个字符,能使得给定的串变为回文串。
解法:枚举起点终点,进行DP;
代码:#include
#include
#include
#include
#include <compl...
分类:
其他好文 时间:
2015-06-10 17:27:23
阅读次数:
112