DP
凌阡陌
随心而为,我自逍遥
展开
-
hdu 动态规划
原文转载于:http://www.cppblog.com/doer-xee/archive/2009/12/05/102629.html转载之前先Orz一下: [s:19]Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残转载 2012-03-07 13:59:11 · 280 阅读 · 0 评论 -
poj3624
/* Made by Karen 14:58p.m. at Mar.7,2012 01背包*/#include #include #include using namespace std;int main(){ int n,m,i,j; int f[12881],w[3500],d[3500]; while(scanf("%d%d",原创 2012-03-07 14:58:50 · 220 阅读 · 0 评论 -
hdu2955(01背包)
/* hdu_2955 01背包 Time:18:00 Mar.10,2012 Author: Karen*/#include #include #include using namespace std;double max(double a,double b){ return a>b?a:b;}int main(){ int t,n,原创 2012-03-10 18:57:14 · 203 阅读 · 0 评论 -
poj1976(01背包)
这是一道01背包的题目,每个车厢只能被选择一次。dp[i][j]表示用i个火车头拉动j个火车仓的人数和的最大值。状态转移方程为:dp[i][j]=max(dp[i-1][j-m]+data[j]+data[j+1]+......+data[j-m+1],dp[i][k]);怎样理解呢?这data[j]的人拉或不拉,有两种情况。如果拉的话,用i个火车头拉j个火车仓的人数和就 = 用原创 2012-03-11 13:04:25 · 293 阅读 · 0 评论 -
poj3211
#include #include #include using namespace std;#define max(a,b) a>b?a:bint dp[100*1000+10];int sum[10];char color[10][10];struct Clo{ int time; char c[10];}col[101];int main(){原创 2012-03-11 10:06:45 · 358 阅读 · 0 评论 -
hdu1203(01背包)
#include #include #include using namespace std;inline double max(double a,double b){ return a>b?a:b;}int main(){ int n,m,i,j; int c[1010]; double w[1010],dp[100010],temp; w原创 2012-03-10 16:39:07 · 204 阅读 · 0 评论 -
hdu1224
题意:求一幅图中从1再回到1的过程中,经过的点最大的路径。#include #include #include using namespace std;int mapp[120][120],point[120];int step[220],ans[220];int main(){ int t,m,n,i,j,max,k,a,b,cas=0; scanf("%d原创 2012-08-28 21:10:05 · 302 阅读 · 0 评论