原题链接: http://oj.leetcode.com/problems/interleaving-string/
这是一道关于字符串操作的题目,要求是判断一个字符串能不能由两个字符串按照他们自己的顺序,每次挑取两个串中的一个字符来构造出来。
像这种判断能否按照某种规则来完成求是否或者某个量的题目,很容易会想到用动态规划来实现。
先说说维护量,res[i][j]表示用s1的前i个字符和s...
分类:
其他好文 时间:
2014-04-29 13:46:22
阅读次数:
336
OJ题目:click here~~
题目分析:f个束花,编号为1…… f。v个花瓶,编号为1 …… v。编号小的花束,所选花瓶的编号也必须比编号大的花束所选花瓶的编号小,即花i 选k, 花j选t ,如果i j , 则定有 k > t 。 每束花放在每个花瓶里有一个值。求f束花,能得到的最大值。
设dp[ i ][ j ] 为第 i 束花选择了第 j 个花瓶 , 则转移方程为
dp[ i ]...
分类:
其他好文 时间:
2014-04-29 13:36:20
阅读次数:
278
The plan of city rebuild
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 616 Accepted Submission(s): 215
Problem Description
New...
分类:
其他好文 时间:
2014-04-29 13:22:21
阅读次数:
438
解题思路:
求至少收到一份OFFER的最大概率,为了简化问题,求一份OFFER也没有收到的最小概率,然后1减去它就可以了。采用01背包,装入一份OFFER也没收到总概率的最小值,那么1减去它就是收到至少一份OFFER的最大概率。注意:dp[最大容量] 要有值,初始化时,而且本题dp数组初始化值为1
代码:
#include
#include
#include
using name...
分类:
其他好文 时间:
2014-04-29 13:21:22
阅读次数:
321
原题链接: http://oj.leetcode.com/problems/restore-ip-addresses/
这道题的解法非常接近于NP问题,也是采用递归的解法。基本思路就是取出一个合法的数字,作为IP地址的一项,然后递归处理剩下的项。可以想象出一颗树,每个结点有三个可能的分支(因为范围是0-255,所以可以由一位两位或者三位组成)。并且这里树的层数不会超过四层,因为IP地址由四段组...
分类:
其他好文 时间:
2014-04-29 13:16:22
阅读次数:
313
原题链接: http://oj.leetcode.com/problems/reverse-linked-list-ii/
这道题是比较常见的链表反转操作,不过不是反转整个链表,而是从m到n的一部分。分为两个步骤,第一步是找到m结点所在位置,第二步就是进行反转直到n结点。反转的方法就是每读到一个结点,把它插入到m结点前面位置,然后m结点接到读到结点的下一个。总共只需要一次扫描,所以时间是O(n...
分类:
其他好文 时间:
2014-04-28 10:38:42
阅读次数:
240
Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
Input
One N in one line, process to the end of file.
Output
For each N, output N! i...
分类:
其他好文 时间:
2014-04-28 10:36:41
阅读次数:
341
原题链接: http://oj.leetcode.com/problems/subsets-ii/
这道题跟Subsets一样是经典的NP问题--求子集。比Subsets稍微复杂一些的是这里的集合中可能出现重复元素,因此我们在求子集的时候要避免出现重复的子集。在Subsets中我们每次加进一个元素就会把原来的子集都加上这个元素,然后再加入到结果集中,但是这样重复的元素就会产生重复的子集。为了避免...
分类:
其他好文 时间:
2014-04-28 10:34:42
阅读次数:
373
HDU 1520 Anniversary party
隔层选取,比较基础的树形DP了。
HDU 2196 Computer
我只想说一句这是毛线DP,明明是图论好么。
两次BFS求出权值和最大的一条链,再用两次BFS更新各点最大值。
搜了一下,真的有人用DP做,貌似更快一些。...
分类:
其他好文 时间:
2014-04-28 10:33:42
阅读次数:
282
http://acm.hdu.edu.cn/showproblem.php?pid=1595
大致题意:
给一个图,让输出从中删除任意一条边后所得最短路径中最长的。。
思路:
直接枚举每条边想必是不行的。其实有些边是不需要枚举的,因为删除它们并不影响起点到终点的最短路。起作用的边都是未删边前的最短路径上的边,删除它们最短距离肯定增大,只需在这些最短距离中求最大的即可。
记录最短路...
分类:
Web程序 时间:
2014-04-28 10:24:42
阅读次数:
393