码迷,mamicode.com
首页 >  
搜索关键字:动态规划    ( 6061个结果
动态规划——0-1背包问题
0-1背包问题: 描述:给定n中物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为c,问应如何选择装入背包中的物品,使得装入背包中的物品总价值最大? 0-1背包问题是一个特殊的整数规划问题。 设所给0-1背包问题的子问题; 其最优值为m(i,j),即m(...
分类:其他好文   时间:2014-07-22 23:00:35    阅读次数:319
[ACM] hdu 1231 最大连续子序列 (动规复习)
代码: #include #include #include #include using namespace std; const int maxn=10003; const int inf=0x7fffffff; int num[maxn]; int n; int main() { while(scanf("%d",&n)!=EOF&&n)...
分类:其他好文   时间:2014-05-04 12:39:16    阅读次数:331
fzoj 2170 花生的序列
Problem 2170 花生的序列 Accept: 41    Submit: 127 Time Limit: 3000 mSec    Memory Limit : 32768 KB  Problem Description “我需要一个案件!!!”,没有案件卷福快疯了。花生不忍心看卷福这个样子,他决定帮卷福找点事情做。 花生拿了两个长度为N的相同的序列,序列都为WB...
分类:其他好文   时间:2014-05-02 19:52:00    阅读次数:332
动态规划:背包问题
装箱问题及引申乌龟棋
分类:其他好文   时间:2014-05-02 17:11:40    阅读次数:486
LeetCode - Trangle
这道题,采用动态规划算法。from top to down,把到每个节点的最小路径和都求出来。下面是AC代码: 1 /** 2 * Given a triangle, find the minimum path sum from top to bottom. 3 * Each ...
分类:其他好文   时间:2014-05-02 12:19:23    阅读次数:382
状态压缩经典题目(poj1184 nyoj81)
题目描述: 描述 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:  如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的...
分类:其他好文   时间:2014-04-30 22:32:38    阅读次数:398
Timus 1119. Metro 动态规划
很好的一道动态规划法题目。 注意: 1 行列别搞错了,要很细心一点一点对起来 2 要以边线思考,不要以方块来计算, N*M个方块就成了(N+1)*(M+1)条交叉线了,最下面和最左边的线就方便初始化了 3 注意C++的四舍五入的方法 动态规划的状态转移方程: if (A[y][x]) B[x] = t + 1.414213562; else B[x] = min(B[x-1], B[x]) + 1 ; A[y][x]表示是否有对角线,有对角线必定是走对角线的。...
分类:其他好文   时间:2014-04-30 22:21:38    阅读次数:369
任意两点间最短路问题及路径还原
1Floyd-Warshall算法 考虑用动态规划的方法,只使用顶点0~k和i,j的情况下,记i到j的最短路径为d[k][i][j]。当k=0时,只考虑i和j,即d[0][i][j]=cost[i][j].然后我们就开始讨论从k到k+1是怎样变化的。 对于顶点0~k的i到j的最短路,如果这条路径不经过第k个顶点,那么d[k][i][j]=d[k-1][i][j]。当经过第k个顶点时,d[k][...
分类:其他好文   时间:2014-04-30 22:16:39    阅读次数:389
Unique Binary Search Trees -- LeetCode
原题链接: http://oj.leetcode.com/problems/unique-binary-search-trees/  这道题要求可行的二叉查找树的数量,其实二叉查找树可以任意取根,只要满足中序遍历有序的要求就可以。从处理子问题的角度来看,选取一个结点为根,就把结点切成左右子树,以这个结点为根的可行二叉树数量就是左右子树可行二叉树数量的乘积,所以总的数量是将以所有结点为根的可行结果...
分类:其他好文   时间:2014-04-30 22:12:39    阅读次数:244
POJ 2533 Longest Ordered Subsequence 最长上升子序列
最长上升子序列: 有两种基本方法:两个时间复杂度分别为O(n^2)和O(nlogn)。 O(n^2) 容易的出动态规划的递推公式dp[i]=max(dp[j])+1 j=1,2...i-1,dp[i]是以元素i结尾的最长子序列个数。 在O(n^2)的最长上升子序列中可以通过记录每个元素前缀元素位置的方式来得到整个的最长上升子序列。 代码:int LISOn2(int a[],int to...
分类:其他好文   时间:2014-04-29 13:24:22    阅读次数:314
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!