【01背包】【DP】精卫填海(黄题)
题目:
发鸠之山,其上多柘木。有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨。是炎帝之少女,名曰女娃。女娃游于东海,溺而不返,故为精卫。常衔西山之木石,以堙于东海。——《山海经》
精卫终于快把东海填平了!只剩下了最后的一小片区域了。同时,西山上的木石也已经不多了。精卫能把东海填平吗?
事实上,东海未填平的区域还需要至少体积为v的木石才可以填平,而西山上的木石还剩下n块,每块的体积和把它衔到东海需要的体力分别为k和m。精卫已经填海填了这么长时间了,她也很累了,她还剩下的体力为c。
输入:
输入文件的第一行是三个整数:v、n、c。
从第二行到第n+1行分别为每块木石的体积和把它衔到东海需要的体力。
输出:
输出文件只有一行,如果精卫能把东海填平,则输出她把东海填平后剩下的最大的体力,否则输出’Impossible’(不带引号)。
样例输入:
100 2 10
50 5
50 5
样例输出:
0
思路:
这不是01背包吗??v是体积,n是数量,c是体力,直接DP嘛
CodeCodeCode:
#include<cstdio>
#include<iostream>
using namespace std;
int v,n,c,e[10001],power[10001],dp[10001];//dp装答案,power是体积,e是体力
void init()//输入
{scanf("%d%d%d",&v,&n,&c);for(int i=1;i<=n;i++)scanf("%d%d",&e[i],&power[i]);
}
void DP()//DP(01背包)
{for(int i=1;i<=n;i++)for(int j=c;j>=power[i];j--)dp[j]=max(dp[j],dp[j-power[i]]+e[i]);
}
int main()
{init();DP();for(int i=1;i<=c;i++)if(dp[i]>=v)//看体积{printf("%d",c-i);return 0;}//输出就退回printf("Impossible");return 0;
}
【01背包】【DP】精卫填海(黄题)相关推荐
- 洛谷P1504 积木城堡【DP+01背包】【黄】
Date:2022.02.27 题目描述 XC 的儿子小 XC 最喜欢玩的游戏用积木垒漂亮的城堡.城堡是用一些立方体的积木垒成的,城堡的每一层是一块积木. 小 XC 是一个比他爸爸 XC 还聪明的孩子 ...
- UVA 10163 Storage Keepers (01背包DP + 二分)
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
- ZOJ 3703 Happy Programming Contest 0-1背包 DP
ZOJ 3703 Happy Programming Contest 题目描述: 题目链接:ZOJ 3703 Happy Programming Contest 题目大意: 这是一道虐狗的题目.讲的是 ...
- hdu 1864 最大报销额01背包dp
最大报销额 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Subm ...
- 天池 在线编程 高效作业处理服务(01背包DP)
文章目录 1. 题目 2. 解题 1. 题目 https://tianchi.aliyun.com/oj/231188302809557697/235445278655844967 Twitter正在 ...
- 饭卡 01背包 DP
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...
- poj1015(选m个人|sumD-sumP|最小时sumD+sumP最大 输出方案 01背包dp)
题目 傻逼.恶心.通过这个题,以后对他..恶心 题意: 在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n 个人作为陪审团的候选人,然后再从这n 个人中选 ...
- 51NOD 2072 装箱问题 背包问题 01 背包 DP 动态规划
有一个箱子容量为 V(正整数,0<=V<=20000),同时有 n 个物品(0<n<=30),每个物品有一个体积(正整数). 现在在 n 个物品中,任取若干个装入箱内,使得箱子 ...
- POJ1015-Jury Compromise【01背包,dp】
正题 题目链接:http://poj.org/problem?id=1015 题目大意 每个人有A值和B值,要求选M个人,使这M个人的|SumA−SumB||SumA−SumB||Sum_A-Sum_ ...
- nssl1231-Gift【01背包,dp】
正题 题目大意 n个物品,每个物品有cic_ici元,求有多少种方案数使得无法再买另外任何的东西. 解题思路 我们发现其实对于每种方案判断只需要考虑剩下的最小的哪一个,所以我们可以将ccc从小到大排 ...
最新文章
- Activiti数据库
- ASP.NET Core MVC with EF Core-迁移
- 如何修改pfpj的服务器,如何更改布局?
- 循环链表:魔术师发牌问题
- 学习了pr后的收获_零基础如何学习PR影视剪辑以及调色?
- 爬取12306火车票信息
- C++:利用泰勒公式求cos x近似值
- android扁平化按钮图标,35个扁平化设计(Flat UI)图标UI Kit素材下载
- 集成显卡和独立显卡的区别
- 判断自定义异形view的点击事件是否在绘制区域内
- 顺序的分数 Ordered Fractions [USACO 2.1]
- 现在AR/VR机会很少,可能全都是泡沫之互联网创业分析!
- Apache Zeppelin主要界面和基本操作
- PHP电商运费模板,拼多多运费模板怎么设置?怎么使用运费模板?
- java gul,java gui 选择文件
- QuickBooks 2007 All-in-One Desk Reference For Dummies
- c++中int a, int *a=new int和 int *a=new int()
- FLUENT UDF编译及蒸发冷凝相关问题
- js求三个数的最大值和最小值
- 放下一切包袱,轻装前行