题目:如下对应关系'A' -> 1'B' -> 2...‘Z’ -> 26现在给定一个字符串,返回有多少种解码可能。例如:Given encoded message"12", it could be decoded as"AB"(1 2) or"L"(12).思路:动态规划。dp[i]表示s[0,....
分类:
其他好文 时间:
2014-11-23 00:27:03
阅读次数:
237
nlogn求出最长上升子序列长度。对每次询问,贪心地回答。设输入为x。当前数a[i]可能成为答案序列中的第k个,则若 f[i]>=x-k && a[i]>ans[k-1] 即可。f[i]表示以a[i]开头的最长上升子序列长度。但这个东西难以统计。so 我们将原序列反序,求f[i] 表示以 a[i]为...
分类:
其他好文 时间:
2014-11-22 21:23:31
阅读次数:
156
I NEED A OFFER!
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 17099 Accepted Submission(s): 6831
Problem Description
Speakless...
分类:
其他好文 时间:
2014-11-22 17:34:16
阅读次数:
133
Bone Collector
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 31922 Accepted Submission(s): 13138
Problem Description
Many year...
分类:
其他好文 时间:
2014-11-22 17:32:16
阅读次数:
228
f[i][j]表示第i首歌音量为j是否可能。若是将状态之间建边,那么答案就是max(j){f[i][j]==true&&0 2 using namespace std; 3 int n,vis[51][1001],w[51],limit,sta; 4 void dfs(int cur,int now...
分类:
其他好文 时间:
2014-11-22 17:11:33
阅读次数:
198
求最长公共子串可以先求最长公共子串的长度,并且记录那些公共子串字符的长度以及字符,然后通过回溯可以找到所有的公共子串。下面是求最长公共子串长度的动态规划方法。1:决策,我们在最后一步需要做的决策是,是否要将A[n],B[m]加入公共子串序列中。2:由 1 可知,若以DP[i][j]表示A[1..i]...
分类:
编程语言 时间:
2014-11-22 14:29:58
阅读次数:
140
暴力dp是n^2*m的……我们计算每棵树在每层的答案的时候,都需要计算出从那棵树转移过来最优。但是我们发现,对一棵树而言,从上面转移过来都是一样的,所以我们可以在计算每棵树在每层的答案的时候,先预处理出它应该从上面何处转移过来,消掉一个n。 1 #include 2 #include 3 using...
分类:
其他好文 时间:
2014-11-22 13:12:04
阅读次数:
138
若打了一只鼹鼠后,还能打另一只,我们可以在它们之间连权值为1的边。于是答案就是 以m为终点的最长路长度+1。建反图,就是单源最长路。MLE TLE 一时爽。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 ve...
分类:
其他好文 时间:
2014-11-22 10:38:15
阅读次数:
232
对于矩阵连乘机问题就不概述了,主要是找出最佳的结合方式使得整个式子的运算次数最少。
对于这个问题之所以用动态规划的原因点如下:
第一:由于矩阵连乘机本身可以划分为若干个子矩阵链连乘机,而且若干个子矩阵链的最优解组合起来就是原矩阵链的最优解。
第二:对于原矩阵链的不同划分中个子问题是存在重叠子问题。
所以当此问题用动...
分类:
其他好文 时间:
2014-11-21 14:29:41
阅读次数:
708
搜索是ACM竞赛中的常见算法,本文的主要内容就是分析它的特点,以及在实际问题中如何合理的选择搜索方法,提高效率。文章的第一部分首先分析了各种基本的搜索及其各自的特点。第二部分在基本搜索方法的基础上提出一些更高级的搜索,提高搜索的效率。第三部分将搜索和动态规划结合,高效地解决实际问题,体现搜索的广泛应...
分类:
编程语言 时间:
2014-11-20 21:47:40
阅读次数:
305