题目描述

【版权说明】

本题为改编题。

【问题描述】

发鸠之山,其上多柘木。有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨。是炎帝之少女,名曰女娃。女娃游于东海,溺而不返,故为精卫。常衔西山之木石,以堙于东海。——《山海经》

精卫终于快把东海填平了!只剩下了最后的一小片区域了。同时,西山上的木石也已经不多了。精卫能把东海填平吗?

事实上,东海未填平的区域还需要体积为v的木石才可以填平,而西山上的木石还剩下n块,每块的体积和把它衔到东海需要的体力分别为k和m。精卫已经填海填了这么长时间了,她也很累了,她还剩下的体力为c。

输入输出格式

输入格式:

输入文件的第一行是三个整数:v、n、c。

从第二行到第n+1行分别为每块木石的体积和把它衔到东海需要的体力。

输出格式:

输出文件只有一行,如果精卫能把东海填平,则输出她把东海填平后剩下的最大的体力,否则输出’Impossible’(不带引号)。

输入输出样例

输入样例#1: 复制

100 2 10
50 5
50 5

输出样例#1: 复制

0

输入样例#2: 复制

10 2 1
50 5
10 2

输出样例#2: 复制

Impossible

说明

【数据范围】

对于20%的数据,0<n<=50。

对于50%的数据,0<n<=1000。

对于100%的数据,0<n<=10000,所有读入的数均属于[0,10000],最后结果<=c。

背包

#include<cstdio>
#include<cstring>
#include<algorithm>
inline int read() {int x=0;char c=getchar() ;while(c<'0'||c>'9') c=getchar();while(c<='9'&&c>='0')x=x*10+c-'0',c=getchar();return x;
}
const int maxn = 10007;
int v,n,c;
int k[maxn],m[maxn],dp[maxn];
int main() {v=read(),n=read(),c=read();for(int i=1;i<=n;++i) k[i]=read(),m[i]=read();int ans=-1;for(int i=1;i<=n;++i) {for(int j=c;j>=m[i];--j) {dp[j]=std::max(dp[j],dp[j-m[i]]+k[i]);if(dp[j]>=v)ans=std::max(ans,c-j);}}if(ans>=0)printf("%d\n",ans);else puts("Impossible");return 0;
}

转载于:https://www.cnblogs.com/sssy/p/7912177.html

luogu P1510 精卫填海相关推荐

  1. P1510 精卫填海

    题面:https://www.luogu.org/problemnew/show/P1510 01背包问题,dp方程即经典的f[j]=max(f[j],f[j-m]+k); 最后在所有满足条件f[j] ...

  2. 洛谷P1510 精卫填海(DP)

    [题目描述] 事实上,东海未填平的区域还需要至少体积为vvv的木石才可以填平,而西山上的木石还剩下nnn块,每块的体积和把它衔到东海需要的体力分别为kkk和mmm.精卫已经填海填了这么长时间了,她也很 ...

  3. 古有陈天华万字血书抗沙俄,今有本剧蒻万字背包虐dp(01,完全,多重,分组,混合等各种背包详解 + 板子题+ 奇奇怪怪滴变式题)

    前言: 本文介绍了01背包.完全背包.多重背包.混合背包.分组背包等背包,并对其进行透彻的剖析,并附上了板子题,供您白嫖,以及一些奇葩变式,颇有意思,供你琢磨玩弄.此外绝大部分题都有二维数组和滚动数组 ...

  4. 动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包,混合背包

    动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包 01背包 && 完全背包 && 分组背包 の 视频教程:https://www.bilibi ...

  5. 动态规划之背包问题的一些基础简单入门题

    前言 参考视频教程洛谷试练场 普及组 动态规划的背包问题 主要有01背包问题.完全背包问题.分组背包问题. 01背包问题一般从右往左推: 完全背包问题一般从左往右推: 分组背包一般用01的方法但需要记 ...

  6. 动态规划--from zpz

    版权声明:copy from zpz,我可能要修改 https://blog.csdn.net/qq_40828060/article/details/83064425 文章目录 前言 记忆化搜索 动 ...

  7. 动态规划,且学且放弃

    文章目录 前言 记忆化搜索 动态规划的基本解题思路 背包问题 01背包 (待处理)P1489 猫狗大战 01背包的空间优化问题 P1048 采药 P1510 精卫填海 P1566 加等式 P1504 ...

  8. [leetcode] 总结篇

    刷题推荐:https://programmercarl.com/ C++ 必备知识: vector 用法 unordered_set 与 unordered_map string 字符串操作 sort ...

  9. 蓝桥杯刷题记录(待更新)

    谨以此文纪念我逝去的青春 我当年不会做的题目合集 一.普通题型 1.P1421 小玉买文具 2.P1425 小鱼的游泳时间 3.P1085 不高兴的津津 4.P1008 三连击 5.P1618 三连击 ...

  10. luogu P1549 棋盘问题(2) 题解

    luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...

最新文章

  1. coco格式的数据集进行训练
  2. 机器学习并不“万能”
  3. RS(纠删码)技术浅析及Python实现
  4. Java培训教程之对象的创建与使用
  5. Asp.net MVC中防止HttpPost重复提交
  6. 小狗扫地机器人与石头_当戴森遇到石头机器人,从容应对 “猫狗拆家”
  7. Object_id用法
  8. SpringCloudGateway起步
  9. 搜索Maven依赖资源_搜索Maven工件_搜索Maven构件_搜索依赖_搜索构件_搜索工件
  10. Ubuntu Linux系统环境变量配置文件
  11. python协同过滤电影推荐_基于协同过滤的电影推荐系统的设计与实现
  12. PHP对象和接口抽象类注意事项
  13. 好久没弄网站多皮肤了
  14. hdu 4619 Warm up 2(并查集)
  15. .NET----错误和异常处理机制
  16. php mysql网站统计源码_php统计器代码(在线人数据统计程序源码)
  17. C#几种截取字符串的方法(split 、Substring、Replace、remove)
  18. 利用后中遍历结果,重构二叉树
  19. IBM WebSphere构建智慧世界的六大策略
  20. 【408预推免复习】计算机网络(谢希仁第七版)第三章——数据链路层

热门文章

  1. 一个非常naive的分数阶微积分介绍
  2. 原函数与反函数的关系
  3. 数据科学家VS大数据专家VS数据分析师:有什么不同?
  4. 重构碎片化知识_黄建锋:碎片化学习策略研究
  5. 竞价被恶意点击怎么办?该怎么屏蔽?
  6. 项目管理包含了哪些特征?
  7. CIO峰会:企业私有云存储实践方案
  8. c语言ld怎么声明,ld C语言编程开发
  9. shift键计算机功能,电脑shift键常用快捷键使用攻略
  10. 福岛邦彦在多少年创立了卷积神经网络