洛谷P1510

简介: 洛谷P1510


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

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

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

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

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

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

100 2 10 输出 :0
50 5
50 5
思路  动态规划,背包问题

本题是将体力作为背包,将石子看做物品 然后得到了本题的状态转移方程:

f[j]=max(f[j],f[j-w[i]]+v[i])
w[i]记录的是体力,v[i]记录的是体积

由于每个石头只能用一次,所以从后往前推,这里可以做一点优化(j>=w[i]),因为消耗的体力必须大于这个石头的体力。

然后这个题问的不是能不能在有限的体力内将海填满,而是把海填平后最大的体力。

f[i]数组求的就是在使用i的体力下能填的最大体积,所以可以从小到大遍历,看哪个体力能填平东海,如果与就直接输出,遍历到最后还没有找到的话就输出Impossible。

include<bits/stdc++.h>

using namespace std;
int w[10005];
int f1[10000005];
int v[10005];
int T,n,V,c;
main(){

cin>>V>>n>>c;
for(int i=1;i<=n;i++)
cin>>v[i]>>w[i];
for(int i=1;i<=n;i++){
    for(int j=c;j>=w[i];j--){
        f1[j]=max(f1[j],f1[j-w[i]]+v[i]);
    }
}
for(int i=1;i<=c;i++){
    if(f1[i]>=V)
    {
        cout<<c-i;
        return 0;
    }
}
cout<<"Impossible";
return 0;

}

相关文章
|
NoSQL Java Unix
使用JDB调试Java程序
如何使用JDB命令行调试Java程序呢?
562 0
|
JavaScript 物联网 5G
物联网设备连接的下一个引爆点:4G Cat.1
物联网从概念兴起至今已经过了好几些年了。何为物联网,首先要定义何为“物”(Things),笔者理解所有具备连接能力的设备都可以是物,比如一个手环,一个WiFi台灯,或者NB-IoT水表等。
物联网设备连接的下一个引爆点:4G Cat.1
|
8月前
|
人工智能 编解码 物联网
Seedream 3.0 技术深度解读:拆解艺术视觉引擎的幕后工程
Seedream 3.0发布,标志着AI视觉生成新突破。本文深入解析其在数据洁癖、MMDiT架构创新、混合分辨率训练与VLM奖励模型等核心技术,展现美学与精度的系统性飞跃。
|
移动开发 安全 Android开发
【HarmonyOS 5】鸿蒙mPaaS详解
mPaaS 是 Mobile Platform as a Service 的缩写,即移动开发平台。
650 0
|
12月前
|
安全 Android开发 数据安全/隐私保护
【HarmonyOS 5】鸿蒙用户头像编辑功能实践
【HarmonyOS 5】鸿蒙用户头像编辑功能实践
410 2
【HarmonyOS 5】鸿蒙用户头像编辑功能实践
|
安全 数据挖掘 大数据
开放、兼容的数据建设与治理平台——瓴羊Dataphin“进化论” |【瓴羊数据荟】数据MeetUp第三期
Dataphin的技术架构与实践路径,涵盖多引擎兼容、混合云架构、统一资产消费等方面,Dataphin通过持续升级,帮助企业实现全生命周期的数据资产管理,助力企业在大模型时代更好地“建好数据”、“用好数据”。
920 87
开放、兼容的数据建设与治理平台——瓴羊Dataphin“进化论” |【瓴羊数据荟】数据MeetUp第三期
|
存储 算法 数据可视化
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
575 2
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的高校后勤报修系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的高校后勤报修系统的详细设计和实现(源码+lw+部署文档+讲解等)
361 1
|
搜索推荐
新手如何发网站外链,网站的外链如何发,发外链的方法集合
一和大家分享一下我是如何做反连接链的。一般做反连接我只追求两件事情。一、数量。二、稳定性。对于像我这样的新人和缺乏资源的人来讲能做的就是增加外链数量,做好外链的稳定性工作。所谓的稳定性就是发了的外链就要尽量让它别消失,这点群发软件就很难做到,特别是英文站。
4612 0
|
数据挖掘 Python
DrissionPage实战之采集猫眼电影top100榜
在信息化时代,数据的重要性日益凸显,特别是在充满活力的电影行业。猫眼电影作为中国领先的电影票务平台,提供了丰富的电影信息和用户评价,成为研究电影市场趋势的重要数据源。通过Python的DrissionPage库抓取猫眼电影Top 100榜单,不仅能够帮助影迷了解热门影片,还为制片方、市场分析师和投资者提供了宝贵的市场洞察。此项目通过自动化脚本定期更新数据,分析市场变化,助力精准决策。
484 0