
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 · 295 阅读 · 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 · 242 阅读 · 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 · 218 阅读 · 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 · 304 阅读 · 0 评论 -
poj3211
#include #include #include using namespace std; #define max(a,b) a>b?a:b int 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 · 382 阅读 · 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 · 220 阅读 · 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 · 322 阅读 · 0 评论