You Are the One Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description The TV shows such as You Are the ...
分类:
其他好文 时间:
2016-12-03 18:09:16
阅读次数:
182
题解: 最先想到的是区间dp。。。但是n的范围是到1000,超时 后来看了题解。发现用一维DP即可 dp[j]表示从1到j组成的最小回文字符串个数 dp[j] = min( dp[i] + 1 ) s[i + 1 ,j]为回文字符串 代码: ...
分类:
其他好文 时间:
2016-12-02 07:40:54
阅读次数:
183
在此游戏中任意时刻的状态都是原始序列的一段子序列故: 定义d(i, j) : 表示原来序列的第i ~ j个元素组成的子序列,在双方都采取最优策略的情况下,先手得分的最大值、 状态转移时,需要枚举从左边或者从右边取多少个。因此 d(i, j) = sum[i, j] - min{d(i+1, j), ...
分类:
其他好文 时间:
2016-11-18 00:15:28
阅读次数:
187
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4632 题意:求回文串子串的的个数。看转移方程就能理解了。 状态转移方程:dp[i][j]=dp[i][j-1]+dp[i+1][j]-dp[i+1][j-1]; if(str[i]==str ...
分类:
其他好文 时间:
2016-11-17 14:03:46
阅读次数:
144
Description 一个序列,每次可以将两个相同的数合成一个数,价值+1,求最后最大价值 \(n \leqslant 262144\) Sol DP. 这道题是 BZOJ 4580: [Usaco2016 Open]248 加强版. 做248的那个区间DP其实很多方案都是0,而且一个区间中只有一 ...
分类:
其他好文 时间:
2016-11-17 00:15:29
阅读次数:
152
Description 一个序列,每次可以把相邻的两个数合为一个,价值+1,求最后的最大价值. Sol 区间DP. \(f[i][j]\) 表示 \(i-j\) 中合成一个数字为多少,转移就是枚举断点,断点两边的价值一样,就合并. 复杂度 \(O(n^3)\) Code ...
分类:
其他好文 时间:
2016-11-16 22:22:46
阅读次数:
167
题目链接:http://poj.org/problem?id=1141 题解:略 代码: ...
分类:
其他好文 时间:
2016-11-16 22:10:41
阅读次数:
239
题目链接:http://poj.org/problem?id=2955 题意:给定字符串 求括号匹配最多时的子串长度。 区间dp,状态转移方程: dp[i][j]=max ( dp[i][j] , 2+dp[i+1][k-1]+dp[k+1][j] ); 代码: ...
分类:
其他好文 时间:
2016-11-15 14:28:00
阅读次数:
180
题目链接:http://poj.org/problem?id=1651 Description The multiplication puzzle is played with a row of cards, each containing a single positive integer. Du ...
分类:
其他好文 时间:
2016-11-13 22:10:30
阅读次数:
227
抄了抄代码,看了看区间dp 把这个项链切开,复制一次,枚举右端点,枚举区间长度,确定左端点,区间中选中一个分割点 f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]+a[i]*a[k+1]*a[j+1]) ...
分类:
其他好文 时间:
2016-11-12 01:31:55
阅读次数:
123