1 public class Solution { 2 public List> partition(String s) { 3 int len=s.length(); 4 boolean dp[][]=new boolean[len][len]; 5...
分类:
其他好文 时间:
2014-07-18 17:29:22
阅读次数:
232
The best way to learn DP from DFS! Nice problem.My intuition is that it can be solved by DFS:class Solution {public: int climbStairs(int n) { ...
分类:
其他好文 时间:
2014-07-18 17:24:53
阅读次数:
188
编辑距离
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 23 Accepted Submission(s) : 6
Font: Times New Roman | Verdana | Georgia
Font Size: ← →...
分类:
其他好文 时间:
2014-07-18 15:11:10
阅读次数:
197
UVA 11077 - Find the Permutations
题目链接
题意:给定n,k求出有多少个包含元素[1-n]的序列,交换k次能得到一个[1,2,3...n]的序列
思路:递推dp[i][j]表示i个元素需要j次,那么在新加一个元素的时候,添在最后面次数不变,其余位置都是次数+1,这是可以证明的,原序列中有几个循环,需要的次数就是所有循环长度-1的和,那么对于新加一...
分类:
其他好文 时间:
2014-07-18 15:10:12
阅读次数:
230
题意:就是给你一块2*n的巧克力,让你把它分成x块,并且每一个单位的巧克力各不相同,问有多少种分法?分析:用dp[i][j][k],表示到巧克力的第二列时,巧克力被分成了j快,k用来表示第i列上下两块是分开的还是在一起的,在纸上把所有的情况画一下,于是就得到状态方程:dp[i][j][0]=(dp[...
分类:
其他好文 时间:
2014-07-18 14:03:46
阅读次数:
226
背包问题(三种动态规划) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目参考: http://blog.csdn.net/caroline_wendy/article/details/37912949可以用动态规划(Dynamic Programming, DP)求解, 可以通过记忆化搜索推导出递推式, 可以使用三种不同的方向进行求解.动态规划主要...
分类:
其他好文 时间:
2014-07-18 13:37:31
阅读次数:
329
题目链接:点击打开链接
题意:
一个游戏由3个人轮流玩
每局游戏由其中一名玩家选择一个数字作为开始
目的:获得最小的得分
对于当前玩家 O ,面对 u 这个数字
则他的操作有:
1、 计分 u +1 ,然后 u++;
2、计分 u / x, 然后 u /= x; 其中x为u的因子且x为素数
然后下一个玩家继续上述操作
3个人各操作一次 为1轮
当一轮结束后,若u==1 则游戏...
分类:
其他好文 时间:
2014-07-18 13:28:50
阅读次数:
200
题意:
两组数字a和b 如果a[i]等于b[j] 则可将a[i]和b[j]前所有数字删掉 这种操作花费e体力 得到1元钱 或者一次删掉所有数字 这种操作花费等于曾经删除的所有数字个数 做完后得到所有钱 问 一共s体力 可以得到多少钱
思路:
dp+二分
由数据可知最多拿到300元钱 因此可以定义 dp[i][j]表示有i元钱时 b串删除到了j处时 a串删到的位置
状态转移为 dp[i][j] = lower_bound ( a[j] , dp[i-1][j-1] + 1 ) 意思...
分类:
其他好文 时间:
2014-07-18 13:27:50
阅读次数:
212
Description
Some of you may have played a game called 'Blocks'. There are n blocks in a row, each box has a color. Here is an example: Gold, Silver, Silver, Silver, Silver, Bronze, Bronze, Bronze, Go...
分类:
其他好文 时间:
2014-07-18 11:23:05
阅读次数:
280
题意:
集合S中包含许多区间[l,r] 且1<=l<=r<=n f(S)表示该集合最多可以选出多少个不相交的区间 问给出n和f(S) 有几种可能的S集合
思路:
dp好题 至于为啥是dp… 我只能说是胖子大神教我的 - -b
定义 dp[i][j] 表示当n=i且f(S)=j时的S集合种类数 那么它可以通过dp[k][j-1]求得 j-1<=k j 也就是加一个不相交的区间 [k+1,k+1] [k+1,k+2]...都可以 一共有...
分类:
其他好文 时间:
2014-07-18 11:14:51
阅读次数:
166