码迷,mamicode.com
首页 >  
搜索关键字:转移    ( 8626个结果
POJ 1141 Brackets Sequence (区间dp 记录路径)
题目大意: 给出一种不合法的括号序列,要求构造出一种合法的序列,使得填充的括号最少。 思路分析: 如果只要求输出最少的匹配括号的数量,那么就是简单的区间dp dp[i][j]表示 i - j 之间已经合法了最少添加的括号数。 转移 就是 dp[i] [j] = min  (dp[i+1][j]+1 , dp[ i+ 1] [ k -1 ] + dp[k+1] [j] (i k 位...
分类:其他好文   时间:2014-08-17 15:38:22    阅读次数:222
一周总结
一周总结树状dp:在一棵树上进行状态转移,一般在树上遍历的时候,有返回到父节点的有不需要返回的,有无根树的遍历(即任意一点都可作为一个根),但状态方程的转移还是从父结点到儿子节点的递归转移。Hdu1296题意:求任意一个点作为根,求该树的半径两次dfs第一次求出以该点为根的最大距离和次大距...
分类:其他好文   时间:2014-08-17 10:20:42    阅读次数:205
Bucharest, Romania 2013 G Points DP
题意:一条线上面有n个目标,每个目标有三个值,表示不取相邻的,取一个相邻的,取两个相邻的值,问你怎么选才能最大解题思路:每个点有个5种情况dp,dp状态转移方程在程序里,5种情况分别是 1) 不取 2) 取自己 3) 取自己和左边,4)取自己和右边,5)取自己和左右边解题代码: 1 Name: 12...
分类:其他好文   时间:2014-08-16 23:49:31    阅读次数:272
POJ 1651 Multiplication Puzzle (区间dp)
题目大意: 在一串数字中取出除了两端的两个数字,求出最小的代价,代价就是每取出一个数,都要加上它与它相邻的两个数的积。 思路分析: 状态方程 :dp [i] [j] 是区间 [i , j] 已经全部取完,只剩下 i j所剩的最小代价。 状态转移 :dp [i][j] = min (dp [i][j], dp[i][k] + dp[k] [j] + a[i]*a[k]*a[j]) ....
分类:其他好文   时间:2014-08-16 17:11:00    阅读次数:230
POJ 3264 RMQ Spare Table算法
今天下午大帝讲的,我以前也不懂,所以也就跟着学学了,把中间的那个状态转移方程学错了好几次,于是就wa了 好几发。    #include #include #include #define maxn 200010 using namespace std; int a[maxn],m,n,b[maxn],fl[maxn][50],fr[maxn][50]; void solve() {...
分类:其他好文   时间:2014-08-15 21:13:19    阅读次数:189
POJ 2955 Brackets (区间dp)
题目大意: 两种括号匹配,求最长的匹配长度。 思路分析: 状态方程:dp [i][j] 表示区间 i ~ j 之间最长的匹配长度。 转移方程:dp [i][j]  = max (dp[i+1][j] , dp[i] [j-1 ] , dp[i+1][k-1] + dp[k+1][j] +2 (条件是i ,k 位置匹配)) #include #include #incl...
分类:其他好文   时间:2014-08-15 18:01:59    阅读次数:184
POJ 3280 Cheapest Palindrome (区间dp)
题目大意: 给你m个字符,其中有n种字符,每种字符都有两个值,分别是增加一个这样的字符的代价,删除一个这样的字符的代价,让你求将原先给出的那串字符变成回文串的最小代价。 思路分析: 状态方程:dp[i][j] 表示 区间 i-j是回文串的最小代价。 状态转移: 有三种情况。 1、 i+1 ~ j 已经是回文串了,那么对于 i 这个字符,要么删除掉,要么在这个回文串后面加一个 s...
分类:其他好文   时间:2014-08-15 17:55:39    阅读次数:172
poj 3126 Prime Path 【暴力BFS】
题意:给你一个4位数,再给你一个4位数,如前一个数的每次只移动一位,问你能不能将第一个数变成第二个。 转移条件:1,只能通过素数作为中转,2,每次移动一位. 如果找到输出最少的转移次数(或步数), 如果找不到输出Impossible。 策略:如题。 直接上代码: #include #include #include #define M 10005 using std::queue; in...
分类:其他好文   时间:2014-08-15 17:52:29    阅读次数:245
POJ 2385 Apple Catching
题目链接:http://poj.org/problem?id=2385思路:动规题目。dp[i][j]表示第i分钟还可以移动j次的最大接到苹果的值。 转移方程 :1.当前位置与苹果要下落的位置一致时dp[i][j] = max(dp[i-1][j]+1,dp[i-1][j-1]) ...
分类:移动开发   时间:2014-08-15 14:25:58    阅读次数:198
HDU 4945 2048(DP)
HDU 4945 2048 题目链接 题意:给定一个序列,求有多少个子序列能合成2048 思路:把2,4,8..2048这些数字拿出来考虑就可以了,其他数字无论如何都不能参与组成,那么在这些数字基础上,dp[i][j]表示到第i个数字,和为j的情况数,然后对于每个数枚举取多少个,就可以利用组合数取进行状态转移,这里有一个剪枝,就是如果加超过2048了,那么后面数字的组合数的和全部...
分类:其他好文   时间:2014-08-15 12:53:08    阅读次数:196
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!