背包问题
w1d2s
这个作者很懒,什么都没留下…
展开
-
POJ1014 多重背包问题
最近在看背包九讲,等全部看完了写一点原创 2014-11-10 16:27:32 · 413 阅读 · 0 评论 -
POJ1384 完全背包问题
#include #include using namespace std;#define inf 0x3f3f3f3fint f[5000000];int min (int a, int b){return a>b ? b : a;}void CompletePack (int *f, int c, int w, int v){for(int i = c; i <= v; i++)f[i] =原创 2014-11-17 15:14:15 · 410 阅读 · 0 评论 -
POJ3661 背包DP
题目点击此处 背包问题,考虑第i分钟是跑还是休息。 设状态DP(i, j),表示第i分钟结束后疲劳度为j。 状态转移方程: DP(i, 0) = max{DP(i-1, 0), DP(i-j, j)},其中i-j>=0, 0 DP(i, j) = D[i] + DP(i-1, j-1), 其中0 #include #include int dp[10005][505]; int D原创 2015-02-03 16:16:27 · 359 阅读 · 0 评论 -
HDU 2955 01背包
题目点我 题目大意:给了NN个银行的钱MiM_i和被抓的概率PiP_i,以及一个可以接受的被抓概率PP,要求选择一些银行,使得最终被抓概率低于PP的同时,总收益最大。 思路:01背包问题,一开始想把概率取对数做背包容量,发现行不通。要用收益当背包容量,用安全概率当作背包价值。状态转移方程如下: dp[i][M]=max(dp[i−1][M],dp[i−1][M−Mi]⋅(1−Pi))dp[i]原创 2015-07-19 14:04:43 · 262 阅读 · 0 评论