码迷,mamicode.com
首页 >  
搜索关键字:动态规划    ( 6061个结果
动态规划学习系列——划分DP(三)
划分DP第三题,wikioi 1040,送我n个WA~~~题目大意: 这道题题述有着UVA的特色,够废话,其实就是读入一个长度最大200的字符串(不知道为何要分行输入,完全没有意义啊),分成m部分,使各部分单词量加起来最大 解题思路: 这题划分的部分跟乘积最大那题其实很像,状态转移方程也很容易想到: dp[i][k]=max(dp[i][k],dp[j][k-1]+scnt[j+1][i])...
分类:其他好文   时间:2015-02-22 14:34:57    阅读次数:179
UVa 1362(LA 3516) Exploring Pyramids
依旧是《训练指南》上的一道例题。思路大致相同,即设有一个序列S(i),S(i+1),S(i+2)...S(j),d[i,j]为所求的解。当S(i)==S(k),id[i,j]+=d[i+1,k-1]*d[k,j]直到k>j。最后的d[i,j]就是序列S(i)..S(j)的解。那么题目最终的解即为d[0,n-1],n为序列的长度。 不过,在具体的解法上,我和书上的做法不一样。书上使用的是递归,而我...
分类:其他好文   时间:2015-02-21 17:45:42    阅读次数:160
动态规划学习系列——划分DP(一)
划分型DP,是解决跟划分有关的题目的一种DP思路,个人觉得,是目前接触的DP类型中最难的一种,因为感觉思路并不确定,不过正是不确定,才可以体会到算法的精妙之处。题目链接:wikioi_1017 要求是将一个n位的数分成m部分,使各部分的乘积最大。解题的思路基于一个事实:当前的数可以分成m-1部分,那么加多几位分成m部分不是可以从原来的推出来。从这句差不多是废话的话中我们就可以推出状态转移方程:...
分类:其他好文   时间:2015-02-21 16:38:54    阅读次数:3407
动态规划学习系列——划分DP(二)
划分型DP第二题,wikioi 1039,与第一题乘积最大思路有所不同。题目要求: 将一个数划分成几部分,问一共有多少种分法。 真 · 解题思路: 其实跟小学奥赛的一些题有点像,我们先来看一个例子: 7 分成 3 部分,有四种办法: 1,1,5;1,2,4;1,3,3;2,2,3 。 我们人脑来考虑问题的时候是怎么想的呢?显然,从1开始,1是第1部分,然后剩下6分成2部分,我们依然是从1...
分类:其他好文   时间:2015-02-21 16:37:05    阅读次数:189
uva 1626(动态规划起步第五天 LIS变形 括号匹配)
挺简单的先谈状态 dp[i][j]表示i---j之间的最少需要加的括号数再谈转移 if S 为 合法序列 那么 (S),[S] 都为合法序列,那么dp[i][j] = dp[i +1][j - 1];if A 为合法序列 && B为合法序列 那么 AB 为合法序列 dp[i][j] = dp[i][...
分类:其他好文   时间:2015-02-21 15:24:40    阅读次数:136
斗地主不算花色算大小王,起初发到的17张牌有多少种?
用动态规划算法来求,设dp[j]表示选了j张牌的种类数。 起初dp[j]=0(j>0),dp[0]=1。 第一层枚举牌的种类A?K,第二层倒着枚举当前选了j张(1=<j<=17),第三层dp[j]由dp[j?k]更新而来(1=<k=0)。 如果大小王都不在,则有dp[17]种;如果大小王只有一个,则有dp[16]种;如果大小王都在,则有dp[15]种。所以......
分类:其他好文   时间:2015-02-21 14:20:59    阅读次数:346
动态规划---最长上升子序列问题(O(nlogn),O(n^2))
LIS(Longest Increasing Subsequence)最长上升子序列 或者 最长不下降子序列。很基础的题目,有两种算法,复杂度分别为O(n*logn)和O(n^2) 。**********************************************************...
分类:其他好文   时间:2015-02-20 22:00:21    阅读次数:245
Codeforces Beta Round #6 (Div. 2 Only) D. Lizards and Basements 2
题目大意有排成一排的nn个弓箭手,第ii个弓箭手有 hih_i 的血量。主角可以使用火球术去攻击弓箭手。被直接攻击的弓箭手ii受到aa点伤害,同时第i?1i-1个和第i+1i+1个弓箭手会受到bb点伤害。当弓箭手的血量小于00时弓箭手死亡。问最少需要释放多少个火球术,每个火球术攻击的是第几个弓箭手。解题思路这是一个动态规划问题。定义一个四维dpdp数组。对于dp[i][j][k][l]dp[i][j...
分类:其他好文   时间:2015-02-20 20:54:50    阅读次数:419
[CODEVS 1050] 棋盘染色 2
描述 有一个5*N的棋盘,棋盘中的一些格子已经被染成了黑色,你的任务是对最少的格子染色,使得所有的黑色能连成一块。 http://codevs.cn/problem/1050/ 分析 CODEVS 题解里有个很良心的人, 我是看了他的才写的. http://codevs.cn/wiki/solution/?problem_id=1050 Soluti...
分类:其他好文   时间:2015-02-20 19:45:28    阅读次数:408
HDOJ-1003 Max Sum(最大连续子段 动态规划)
http://acm.hdu.edu.cn/showproblem.php?pid=1003给出一个包含n个数字的序列{a1,a2,..,ai,..,an},-1000# define INF 1000000000int main(){ int Start, End, Sum, Max, Num, ...
分类:其他好文   时间:2015-02-20 18:38:19    阅读次数:361
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!