![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
***ACM***背包***
hhjian6666
路漫漫其修远兮,吾将上下而求索。修远兮,求索兮。
展开
-
HDU 1203 I NEED A OFFER!……(01背包)
求至少一份offer的最大概率,等价于求无法获得offer的最小概率#include#include#includeusing namespace std;int main(){ int i, j, temp, n, m, a[10005]; double b[10005], dp[10005]; while(~scanf("%d%d", &n, &m))原创 2018-02-02 19:26:21 · 181 阅读 · 0 评论 -
HDU 2602 Bone Collector……( 01背包模板题)
#include#include#includeusing namespace std;int main(){ int i, j, temp, t, n, c, w[1005], v[1005], dp[1005]; scanf("%d", &t); while(t--) { scanf("%d%d", &n, &c); f原创 2018-02-02 19:30:14 · 307 阅读 · 0 评论 -
HDU 2546 饭卡……(01背包+条件)
#include#include#includeusing namespace std;int main(){ int i, j, temp, v[1005], n, m, dp[1005]; while(~scanf("%d", &n), n) { memset(dp, 0, sizeof(dp)); for(i=0;i<n;i+原创 2018-02-02 19:32:08 · 216 阅读 · 0 评论 -
HDU 1171 Big Event in HDU……(01背包 + 思维)
#include#include#includeusing namespace std;int main(){ int i, j, temp, sum, a, b, n, dp[250005], v[5005]; while(~scanf("%d", &n), n>=0) { memset(dp, 0, sizeof(dp)); s原创 2018-02-02 19:37:11 · 195 阅读 · 0 评论 -
HDU 2639 Bone Collector II……( 01背包 + 第k优解)
#include #include #include using namespace std;struct Node{ int v, w;}num[1005];int main(){ int t; scanf("%d",&t); while(t--) { int n, c, k, i, j, dp[1005][31]={0}原创 2018-02-02 19:40:56 · 279 阅读 · 0 评论 -
HDU 2955 Robberies……(01背包 + dp存储成功概率(转化),下标存储抢到多少钱,输出下标)
#include#include#includeusing namespace std;int main(){ int t, n, i, j, temp, v[105]; double c, dp[10005], w[105]; scanf("%d", &t); while(t--) { int sum=0; sca原创 2018-02-02 19:43:27 · 599 阅读 · 0 评论 -
HDU 1864 最大报销额……( 01背包 + 各种条件)
#include #include #include using namespace std;int dp[3000050];int main(){ char ch; double x,y; int sum, a, b, c, money[35], v, t, i, j, k; while(~scanf("%lf%d",&x, &t), t) {原创 2018-02-02 19:53:51 · 155 阅读 · 0 评论 -
HDU 3466 Proud Merchants ……(01背包 + 排序(物品的选择有先后顺序))
这道题和01背包很类似,唯一不同的就是买每件物品时多了一个限制条件,p,Q,v,需要钱数大于Q才能买,所以买东西需要有先后顺序。以前的01背包不用排序,dp[j] = max(dp[j],dp[j-w[i]]+v[i])表达的是这第i个物品要不要买,但同时也在判断第i个物品要不要先买,如果先买剩下的空间随便放,看是否得到的价值会更大。A物品 p1,q1,v1;B物品 p2,q2,v2原创 2018-02-02 19:52:28 · 381 阅读 · 0 评论 -
POJ 3624 Charm Bracelet ……(01背包模板题)
#include#include#includeusing namespace std;int main(){ int n, m, i, j, temp, w[3500], v[3500], dp[13000]; scanf("%d%d", &n, &m); for(i=1;i<=n;i++) scanf("%d%d", &w[i], &v[i])原创 2018-02-02 20:30:32 · 215 阅读 · 0 评论