题目参考自博客:http://blog.csdn.net/u011498819/article/details/38356675题意:查找这样的子回文字符串(未必连续,但是有从左向右的顺序)个数。简单的区间dp,哎,以为很神奇的东西,其实也是dp,只是参数改为区间,没做过此类型的题,想不到用dp,以...
分类:
其他好文 时间:
2014-08-18 10:36:34
阅读次数:
200
题目大意:
给出一组合法的括号。
括号要么不涂颜色,要么就涂上红色或者绿色。
匹配的括号只能有一个有颜色。
两个相邻的括号不能有相同的颜色。
思路分析:
因为是一个合法的括号序列。
所以每个括号与之匹配的位置是一定的。
那么就可以将这个序列分成两个区间。 (L - match[L] ) (match[L]+1, R)
用递归先处理小区间,再转移大区间。
...
分类:
其他好文 时间:
2014-08-17 17:04:42
阅读次数:
206
题目大意:
给出一种不合法的括号序列,要求构造出一种合法的序列,使得填充的括号最少。
思路分析:
如果只要求输出最少的匹配括号的数量,那么就是简单的区间dp
dp[i][j]表示 i - j 之间已经合法了最少添加的括号数。
转移 就是 dp[i] [j] = min (dp[i+1][j]+1 , dp[ i+ 1] [ k -1 ] + dp[k+1] [j] (i k 位...
分类:
其他好文 时间:
2014-08-17 15:38:22
阅读次数:
222
题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=15
括号匹配(二)
时间限制:1000 ms | 内存限制:65535 KB
难度:6
描述给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。
如:
[]是匹配的
(...
分类:
其他好文 时间:
2014-08-17 13:04:52
阅读次数:
173
1 //Accepted 200 KB 0 ms 2 //dp区间 3 //dp[i][j]=min(dp[i][k]+dp[k][j]+a[i]*a[k]*a[j]) i 5 #include 6 #include 7 using namespace std; 8 const i...
分类:
其他好文 时间:
2014-08-17 11:35:32
阅读次数:
241
题目大意:
在一串数字中取出除了两端的两个数字,求出最小的代价,代价就是每取出一个数,都要加上它与它相邻的两个数的积。
思路分析:
状态方程 :dp [i] [j] 是区间 [i , j] 已经全部取完,只剩下 i j所剩的最小代价。
状态转移 :dp [i][j] = min (dp [i][j], dp[i][k] + dp[k] [j] + a[i]*a[k]*a[j]) ....
分类:
其他好文 时间:
2014-08-16 17:11:00
阅读次数:
230
1 //Accepted 200 KB 63 ms 2 //区间dp 3 //dp[i][j] 从i位到j位能得到的最大匹配数 4 //dp[i][j]=max(dp[i+1][j-1] (s[i-1]==s[j-1]),dp[i][k]+dp[k+1][j])i 6 #include...
分类:
其他好文 时间:
2014-08-16 17:07:00
阅读次数:
189
1 //Accepted 244 KB 0 ms 2 //区间dp 3 //石子合并模型 4 #include 5 #include 6 #include 7 using namespace std; 8 const int imax_n = 105; 9 const int P...
分类:
其他好文 时间:
2014-08-16 17:03:20
阅读次数:
358
Let us define a regular brackets sequence in the following way:
1. Empty sequence is a regular sequence.
2. If S is a regular sequence, then (S) and [S] are both regular sequences.
3. If A an...
分类:
其他好文 时间:
2014-08-16 15:10:30
阅读次数:
262
题目大意:
两种括号匹配,求最长的匹配长度。
思路分析:
状态方程:dp [i][j] 表示区间 i ~ j 之间最长的匹配长度。
转移方程:dp [i][j] = max (dp[i+1][j] , dp[i] [j-1 ] , dp[i+1][k-1] + dp[k+1][j] +2 (条件是i ,k 位置匹配))
#include
#include
#incl...
分类:
其他好文 时间:
2014-08-15 18:01:59
阅读次数:
184