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 ...
随机推荐
- day09 常用工具类&包装类&集合——List、Set
day09 常用工具类 java.lang.Math数值运算 基本数值运算,如初等函数.对数.平方根和三角函数 //最大最小值 Math.max(12, 21); Math.min(2, 3); // ...
- 【数据库】SQL-随机生成区间内数值、日期、字符串,mock数据
〇.概述 1.参考 2.其他 一.随机生成数值 1.随机生成函数random_int() -- 随机数生成函数,int版 CREATE OR REPLACE FUNCTION random_int( ...
- 【每日一题】【栈】2022年2月2日-NC40 两个链表生成相加链表
描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数. 给定两个这种链表,请生成代表两个整数相加值的结果链表. 答案:栈 import java.util.*; /* ...
- ATM购物车项目总结
目录 项目实现思路 ATM项目 优先实现功能 拆分函数 项目路径展示 项目启动文件 start.py 配置文件 setting.py 日志配置字典 日志函数 展示层 src.py 用户注册 获取用户输 ...
- Chaos 测试下的若干 NebulaGraph Raft 问题分析
Raft 是一种广泛使用的分布式共识算法.NebulaGraph 底层采用 Raft 算法实现 metad 和 storaged 的分布式功能.Raft 算法使 NebulaGraph 中的 meta ...
- 二阶段目标检测网络-FPN 详解
论文背景 引言(Introduction) 特征金字塔网络 FPN FPN网络建立 Anchor锚框生成规则 实验 代码解读 参考资料 本篇文章是论文阅读笔记和网络理解心得总结而来,部分资料和图参考论 ...
- Jmeter 之提取多个值并引用
一.数值的提取 1.使用Json提取器随机提取返回结果中某几个值 2.使用Json提取器指定提取返回结果中的某几个值,如下,指定提取records中第一条数据中的flowType.id值 3.使用正则 ...
- 分享一个自己在用的.net 中mysql事务控制类(支持多条sql,参数化,自定义判断条件,错误点返回等)
1)首先看下事务控制器. using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using Sys ...
- [常用工具] OpenCV获取网络摄像头实时视频流
所需要硬件及软件环境: python 3/OpenCV3.4 or C++11/OpenCV3.4 1 RTSP协议 RTSP (Real Time Streaming Protocol),是一种语法 ...
- cookie、session,、token,还在傻傻分不清?
摘要:session 和 token 本质上是没有区别的,都是对用户身份的认证机制,只是他们实现的校验机制不一样而已. 本文分享自华为云社区<Session/Cookie/Token 还傻傻分不 ...