洛谷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程序呢?
581 0
|
Oracle 关系型数据库 数据库
百度搜索:蓝易云【docker部署并配置oracle12c的cdb和pdb教程!】
以上是使用Docker部署和配置Oracle 12c CDB和PDB的简要教程。请注意,这只是一个概述,并且可能需要根据你的实际情况进行适当的调整和配置。建议参考Oracle官方文档和相关资源,以获得更详细和全面的指导。
519 2
|
9月前
|
人工智能 编解码 物联网
Seedream 3.0 技术深度解读:拆解艺术视觉引擎的幕后工程
Seedream 3.0发布,标志着AI视觉生成新突破。本文深入解析其在数据洁癖、MMDiT架构创新、混合分辨率训练与VLM奖励模型等核心技术,展现美学与精度的系统性飞跃。
|
搜索推荐
新手如何发网站外链,网站的外链如何发,发外链的方法集合
一和大家分享一下我是如何做反连接链的。一般做反连接我只追求两件事情。一、数量。二、稳定性。对于像我这样的新人和缺乏资源的人来讲能做的就是增加外链数量,做好外链的稳定性工作。所谓的稳定性就是发了的外链就要尽量让它别消失,这点群发软件就很难做到,特别是英文站。
4733 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的高校后勤报修系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的高校后勤报修系统的详细设计和实现(源码+lw+部署文档+讲解等)
377 1
|
计算机视觉 网络架构
【YOLOv8改进】MSBlock : 分层特征融合策略 (论文笔记+引入代码)
YOLO-MS是一个创新的实时目标检测器,通过多尺度构建块(MS-Block)和异构Kernel选择(HKS)协议提升多尺度特征表示能力。它在不依赖预训练权重和大型数据集的情况下,在MS COCO上超越了YOLO-v7和RTMDet,例如YOLO-MS XS版本(4.5M参数,8.7G FLOPs)达到了43%+的AP,比RTMDet高2%+。MS-Block利用分层特征融合和不同大小的卷积,而HKS协议根据网络深度调整Kernel大小,优化多尺度语义信息捕获。此外,YOLO-MS的模块化设计允许其作为即插即用的组件集成到其他YOLO模型中,提升它们的检测性能。
|
Web App开发 移动开发 前端开发
78 款 Markdown 工具
Markdown 是一种易写易读的文本标记语言。本文介绍了编写、查看 Markdown 的78种工具,涵盖桌面端、移动端和 web 端。
834 0
78 款 Markdown 工具
|
存储 机器学习/深度学习 弹性计算
阿里云GPU云服务器常见问题及官方资料解答汇总
阿里云基于EGS平台推出了GPU云服务器,在提供GPU加速能力的同时,保留了与普通ECS实例一致的使用体验。您在创建ECS实例时,选择企业级异构计算规格即可。下面是阿里云GPU云服务器的一些常见问题及官方资料解答汇总,以供大家参考和了解阿里云GPU云服务器。
1787 0
阿里云GPU云服务器常见问题及官方资料解答汇总
|
存储 SQL 自然语言处理
Mycat的简单使用(三)【分库分表】
Mycat的简单使用(三)【分库分表】
Mycat的简单使用(三)【分库分表】
|
JavaScript C# Web App开发
C# 用XiliumCefGlue做浏览器,JS和C#相互调用
原文:C# 用XiliumCefGlue做浏览器,JS和C#相互调用 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.
2884 0
C# 用XiliumCefGlue做浏览器,JS和C#相互调用

热门文章

最新文章