JZOJ 5346. 【NOIP2017提高A组模拟9.5】NYG的背包
题目

分析
很神奇的贪心

\(Code\)
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
const int N = 100005;
int n , T , cnt1 , cnt2;
LL v;
struct node{
int a , b;
}p[N] , q[N];
bool cmp1(node x , node y){return x.a < y.a;}
bool cmp2(node x , node y){return x.b < y.b;}
int main()
{
freopen("backpack.in" , "r" , stdin);
freopen("backpack.out" , "w" , stdout);
scanf("%d" , &T);
while (T--)
{
scanf("%d%lld" , &n , &v);
cnt1 = cnt2 = 0;
int fl = 1 , a , b;
for(register int i = 1; i <= n; i++)
{
scanf("%d%d" , &a , &b);
if (a <= b) p[++cnt1] = node{a , b};
else q[++cnt2] = node{a , b};
}
sort(p + 1 , p + cnt1 + 1 , cmp1);
for(register int i = 1; i <= cnt1; i++)
{
a = p[i].a , b = p[i].b;
if (v < a){fl = 0; break;}
v = v - a + b;
}
if (fl == 0){printf("No\n"); continue;}
sort(q + 1 , q + cnt2 + 1 , cmp2);
for(register int i = 1; i <= cnt2; i++) v = v - q[i].a + q[i].b;
for(register int i = 1; i <= cnt2; i++)
{
a = q[i].a , b = q[i].b;
if (v < b){fl = 0; break;}
v = v - b + a;
}
if (fl == 0){printf("No\n"); continue;}
printf("Yes\n");
}
}
JZOJ 5346. 【NOIP2017提高A组模拟9.5】NYG的背包的更多相关文章
- JZOJ 【NOIP2017提高A组模拟9.14】捕老鼠
JZOJ [NOIP2017提高A组模拟9.14]捕老鼠 题目 Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里的仓库灭灭鼠.于是,猫被农夫约派去捕 ...
- [JZOJ 100026] [NOIP2017提高A组模拟7.7] 图 解题报告 (倍增)
题目链接: http://172.16.0.132/senior/#main/show/100026 题目: 有一个$n$个点$n$条边的有向图,每条边为$<i,f(i),w(i)>$,意 ...
- 【NOIP2017提高A组模拟9.7】JZOJ 计数题
[NOIP2017提高A组模拟9.7]JZOJ 计数题 题目 Description Input Output Sample Input 5 2 2 3 4 5 Sample Output 8 6 D ...
- JZOJ 100029. 【NOIP2017提高A组模拟7.8】陪审团
100029. [NOIP2017提高A组模拟7.8]陪审团 Time Limits: 1000 ms Memory Limits: 131072 KB Detailed Limits Got ...
- JZOJ 5328. 【NOIP2017提高A组模拟8.22】世界线
5328. [NOIP2017提高A组模拟8.22]世界线 (File IO): input:worldline.in output:worldline.out Time Limits: 1500 m ...
- JZOJ 5329. 【NOIP2017提高A组模拟8.22】时间机器
5329. [NOIP2017提高A组模拟8.22]时间机器 (File IO): input:machine.in output:machine.out Time Limits: 2000 ms M ...
- JZOJ 5307. 【NOIP2017提高A组模拟8.18】偷窃 (Standard IO)
5307. [NOIP2017提高A组模拟8.18]偷窃 (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Description ...
- JZOJ 5286. 【NOIP2017提高A组模拟8.16】花花的森林 (Standard IO)
5286. [NOIP2017提高A组模拟8.16]花花的森林 (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Descript ...
- JZOJ 5305. 【NOIP2017提高A组模拟8.18】C (Standard IO)
5305. [NOIP2017提高A组模拟8.18]C (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Description ...
- 【NOIP2017提高A组模拟9.17】信仰是为了虚无之人
[NOIP2017提高A组模拟9.17]信仰是为了虚无之人 Description Input Output Sample Input 3 3 0 1 1 7 1 1 6 1 3 2 Sample O ...
随机推荐
- Linux 使用打印机
前言 在 deepin 上打印机好使,在我的mint上不好使,简单的查看一下deepin上驱动及软件.安装上就行了. 软件及驱动 ii hpijs-ppds 3.18.12+dfsg0-2 all H ...
- 关于 python 的内存机制
先看一段代码 L = [1,2,3] dic_ = {} L2 = [] for i in L: dic_['sn'] = i L2.append(dic_) print(L2) 输出 [{'sn': ...
- Spring 6 源码编译和高效阅读源码技巧分享
一. 前言 Spring Boot 3 RELEASE版本于 2022年11月24日 正式发布,相信已经有不少同学开始准备新版本的学习了,不过目前还不建议在实际项目中做升级,毕竟还有很多框架和中间件没 ...
- 使用jquery—Canvas实现html5小游戏——《坦克大战》
目录 1.项目背景 2.项目展示 3.设计思路 3.1.坦克移动 3.2.坦克开火 3.3.击中坦克 4.实现代码 5.总结 1.项目背景 2021年春节期间在家无聊,正好又学过一些前端的知识,因此就 ...
- Typora + PicGo + B2 Cloud Storage 实现个人免费图床
前言 22年底终于购入了Typora,想着之前使用时候的痛点就是在图片管理这一块. 我尝试过使用在线的图床工具进行图片上传再将链接放入Typora,但说实话非常麻烦. 也尝试过就将图片保存在本地,但当 ...
- Git和Maven的学习笔记
Git 1.Git简介 Git 是一个免费的.开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目. Git 易于学习,占地面积小,性能极快. 它具有廉价的本地库,方便的暂存区域和多个 ...
- idea的简单介绍
上一篇博客中只是了解一下java文件是怎么编译的,但是一般来说大家都是使用编程软件来进行开发,我是使用IntelliJ IDEA进行开发的 官网下载IDEA(自行安装哈):地址:https://www ...
- 我的基于 JamStack 的新博客
概述 今天心血来潮,介绍一下我的新博客站点 -- https://EWhisper.cn. 我是做基础平台 PaaS 运维和架构的,挺喜欢把工作中学到的新知识写下来.记笔记,突然有一天就抱着「资源共享 ...
- java下载网络文件的N种方式
java下载网络文件的N种方式 通过java api下载网络文件的方法有很多,主要方式有以下几种: 1.使用 common-io库下载文件,需要引入commons-io-2.6.jar public ...
- Nodejs报错记录
◉ digital envelope routines::unsupported D:\workspace\vuedemo> npm run dev ... error:0308010C:dig ...