题目大意:有n个文件,每个文件有一个大小和价值,有一个容量为s的U盘,要装这些文件。传输文件需要接口,一个大小为k的接口能传输的最大文件的大小为k。问最少要多大的接口,才能使传输的文件价值$\ge p$( 具体见原题)。

解题思路:二分接口的大小,对于每个二分出的答案,做一次背包问题(如果一个文件的大小大于接口的大小,则直接跳过该文件),判断最大价值是否$\ge p$。最后的结果就是答案。在二分时,我们把r设为s+1,如果最后二分得到的答案为s,说明没有答案,输出“No Solution!”。

C++ Code:

#include<cstdio>
#include<cstring>
using namespace std;
int n,p,s;
int v[1005],w[1005],f[1005];
bool dp(int k){memset(f,0,sizeof f);for(int i=1;i<=n;++i)if(v[i]<=k)for(int j=s;j>=v[i];--j)if(f[j]<f[j-v[i]]+w[i])f[j]=f[j-v[i]]+w[i];return f[s]>=p;
}
int main(){scanf("%d%d%d",&n,&p,&s);for(int i=1;i<=n;++i)scanf("%d%d",&v[i],&w[i]);int l=0,r=s+1;while(l<r){int mid=l+r>>1;if(dp(mid))r=mid;elsel=mid+1;}if(l>s)puts("No Solution!");elseprintf("%d\n",l);return 0;
}

转载于:https://www.cnblogs.com/Mrsrz/p/7260103.html

[洛谷P2370]yyy2015c01的U盘相关推荐

  1. 洛谷P2370 yyy2015c01的U盘

    点击跳转了解题意 题解:分析一下这道题,发现价值并不是最重要的(因为只要过p就可以嘛),重要的是,最小的接口. 所以应用贪心策略,我们应该优先装接口(大小)小的,然后每次装完判断一下,当前价值是否超过 ...

  2. 二分答案——yyy2015c01 的 U 盘(洛谷 P2370)

    题目选自洛谷P2370 两种解法,01背包+排序,或是直接二分即可 写了二分最后只有40的分...刚好过了给的四个样例 哭辽~想了半天不知道哪里错了 题目背景 在 2020 年的某一天,我们的 yyy ...

  3. P2370 yyy2015c01的U盘

    P2370 yyy2015c01的U盘 题目背景 在2020年的某一天,我们的yyy2015c01买了个高端U盘. 题目描述 你找yyy2015c01借到了这个高端的U盘,拷贝一些重要资料,但是你发现 ...

  4. P2370 yyy2015c01的U盘(二分+背包)

    思路:先说一下题意吧.就是给你n个文件大小为v,价值为c, 但是硬盘的大小为S, 而且要存的总价值大于等于p.问每次传输k大小的文件.问k的最大值是多少? 我们以k为二分对象. 直接讲检验函数吧. 假 ...

  5. 洛谷--橙色百道DP总结

    最近刷完了洛谷橙色DP大约一百道,算是发现了一些套路,就部分题目做一些总结. 大概分为三类 第一类,九大背包及其衍生 第二类,经典DP模型,如LCS,LIS等 第三类,实际问题背景的普通,环形,树上D ...

  6. 倍增:喷泉 深度解析(洛谷P7167)

    洛谷传送门 解析 什么破题 数据范围来看很明显最多到nlogn 首先,对于样例进行一下分析: 我们可以把它转化为一棵树: 每一个根都有对应的权,给你一个结点和加权和,问能爬到哪里 既然是树,自然要找爸 ...

  7. 新汉诺塔(洛谷P1242)含第11个数据的解决办法

    解析 应该从大到小一个个移,这样后面大盘就可以直接忽略,保证没有冗余操作,必定最优(如果先移动小的,后面移动大的时还要动小的) 对于第id个从当前位置到目标的移动有两种移动方案: 法1:把id-1个移 ...

  8. 用0和5凑被90整除的max数(洛谷P2192题题解,Java语言描述)

    题目要求 P2192题目链接 分析 盘一盘各种情况吧: 要被90整除,就必须被10整除,所以必须有0,没0就是-1啊. 要被90整除,一堆5,靠0是没用的,只能是9个5凑一堆儿才有用,有0但凑不够9个 ...

  9. 洛谷日报 2020年3月前索引

    2020 2019 2018 感觉洛谷日报全是干货!!!先记下来再说 2020 年洛谷日报索引 3 月 #260[dove]Church 编码(和 Lambda 演算) https://www.luo ...

  10. 洛谷日报索引(2020、2019、2018)

    历年洛谷日报索引 2020 2019 2018 感觉洛谷日报全是干货!!!先记下来再说 2020 年洛谷日报索引 3 月 #260[dove]Church 编码(和 Lambda 演算) https: ...

最新文章

  1. float对div宽度的影响
  2. java并发环境安全初始化
  3. 基于Java的全文索引
  4. 微软最爽命令行工具发布!
  5. Web开发性能优化总结 转载
  6. JSONObject 自定义过滤配置
  7. 如何成为云计算大数据Spark高手
  8. python列表数据运算_Python基础(2)——数据类型:Numbers、列表、元组、字典、字符串、数据运算...
  9. winform 只允许显示一个子窗体
  10. SVN的搭建(入门篇)
  11. 微信php签名验证_微信公众平台安全模式消息体签名及加解密PHP代码示例
  12. python网络开发框架_宿迁python网站开发框架收费
  13. Swagger2自定义添加请求头key-value暴力猴插件
  14. 【设计鉴赏】精选字体设计鉴赏
  15. 2018全球50大最佳发明名单
  16. 在线rar压缩包解密软件,忘记rar压缩包密码如何找回?
  17. android 多渠道打包不同的包名、应用名、应用图标
  18. 基于内容的图像检索 概述
  19. 用前端代码编写一个动态的罗盘时钟
  20. 秋招斩获所有互联网大厂面经之前端

热门文章

  1. 【渝粤题库】 广东开放大学 劳动和社会保障法 形成性考核
  2. 【Python实例第18讲】affinity propagation聚类算法
  3. 【推荐精读】从item-base到svd再到rbm,多种Collaborative Filtering(协同过滤算法)从原理到实现
  4. 向量的表示及协方差矩阵
  5. 洛谷P1018乘积最大——区间DP
  6. leetcode笔记:Majority Element
  7. tensorflow rnn 最简单实现代码
  8. new对象时,类名后加括号与不加括号的区别
  9. 扩展GeoServer数据源
  10. DRILLNET 2.0------第八章 预防碰撞分析模型