Keshi Is Throwing a Party
题意
对于第i个人的权值为i,一个人能被加入序列当且仅当,数列中大于i的数至多不超过ai,小于i的数至多不超过bi,问最多能选多少人
题解
很明显的二分答案,那么需要考虑的就是怎么写check了.直接上代码解释
bool check(int mid)//当前是否能够选取mid人
{int cnt = 0;//当前已经选取了cnt人for (int i = 1; i <= n; i++)//有小到大枚举当前已经选了cnt人,//那么要在加入一人就是cnt+1的位置且最后满足mid个人则序列一定为//1...cnt cnt+1 ....mid,因为是从小到大枚举所以左边一定小于num[i],则只只要满足下面一个不等式即可加入数列中(比当前数小的个数为cnt,比当前数大的数为mid-(cnt+1))if (a[i]>=mid-1-cnt && b[i]>=cnt) ++cnt;return cnt >= mid;
}
完整代码
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int a[N], b[N];
int n;
bool check(int mid)
{int cnt = 0;for (int i = 1; i <= n; i++)if (a[i]>=mid-1-cnt && b[i]>=cnt) ++cnt;return cnt >= mid;
}
void slove()
{cin >> n;for (int i = 1; i <= n; i++){cin >> a[i] >> b[i];}int l = 0, r = n;while (l < r){int mid = (l + r+1) / 2;if (check(mid))l = mid;else r = mid - 1;}cout << l << endl;}
int main()
{int t;cin >> t;while (t--){slove();}
}
Keshi Is Throwing a Party相关推荐
- Codeforces-1610 C: Keshi Is Throwing a Party
Codeforces-1610 C: Keshi Is Throwing a Party 题目传送门:Codeforces-1610 C 题目 题目截图 样例描述 题目大意 Keshi 正在举行一 ...
- Codeforces 1612C. Keshi Is Throwing a Party
Codeforces 1612C. Keshi Is Throwing a Party 思路 首先容易发现,选择的人数具有单调性,是可以二分的 假设最后答案选了 xxx 个人,那么对于一个人有影响的, ...
- Codeforces 1610C Keshi Is Throwing a Party
题意 Keshi有 nnn 个朋友,第 iii 个朋友有 iii 美元.如果邀请第 iii 个朋友做客,必须满足宴会上最多有 aia_iai 个人比他富有,最多 bib_ibi 个人比他贫穷. 问 ...
- C. Keshi Is Throwing a Party(二分答案),最/佳牛围栏,average。
题目链接 题意: 一共n个人,第 i 个人的财富度为 i,每个人有两个属性 ai 和 bi,分别表示最多能够容忍的比自己富和比自己穷的人数. 问,最多能够选多少人,使得所有人的要求都可以满足. 思路: ...
- 1610C - Keshi Is Throwing a Party 题解
题目传送门: Problem - 1610C - Codeforces 设 中的 表示你所选出的数列的已知最大长度限制,而且是只管右限制的最大长度限制. 比如说第一个数右限制是 4,那么最大长度限 ...
- 【二分】C. Keshi Is Throwing a Party
题目链接: https://codeforces.com/problemset/problem/1610/C n个盆友,第i个盆友有i块钱,小明想尽可能邀请更多的人.第i个人高兴有个条件,比他钱多的不 ...
- XGB模型训练报错 terminate called after throwing an instance of ‘std::bad_alloc‘ what()
背景:需要做XGB模型增量训练,但是因为一些原因没有得到原来的XGB模型,只有dump文件. XGB模型的dump文件是它的树结构存储为一个相对人类好理解的模型文件,但并不能被重新加载进XGB进行增量 ...
- 异常通知(After Throwing Advice)
在方法抛出异常退出时执行的通知.ApplicationContext 中在<aop:aspect> 里面使用<aop:after-throwing>元素进行声明.例如,Serv ...
- terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr
运行时报错: terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::sub ...
最新文章
- Think Pad T410键盘溅水有惊无险
- how is SAP UI5 applyBackendSearchPattern being called
- 开启爬虫之路,从零开始...
- 多种方法列出集合中的所有子集(Python和Java实现)
- poj 1035 Spell checker(hash)
- MapReduce官方案例wordcount
- 无老师作文巨讲堂2015.8
- 第一章 Java性能调优概述
- 浏览器汇总、可信浏览器
- 02. OSI开放式互联参考七层模型
- python疲劳检测代码_【君奉天|开发日记】疲劳驾驶检测
- 华纳云:盘点那些年操作系统的成长史
- 发送微信模板消息+定时任务
- 用 Python 压缩文件方法汇总
- 「智能交通技术」知识星球更新内容(2.20至2.28)
- Red Giant Shooter Suite 13 for Mac(红巨人后期流程插件套装)
- Alpha阶段事后诸葛亮会议记录
- .c 与 .cpp .h与.hpp 的区别
- [创业故事]清风明月我 与谁同坐--我的创业故事-2
- 微博敲定在香港上市发行价:定价相对下降三成,散户认购情况惨淡
热门文章
- IAR 中的 Fatal Error[Lc002]: could not open file 解决办法
- android10系统是平板电脑吗,买平板电脑应该选win10还是安卓系统?
- 23_字符串的格式化_format 函数_% 占位符 _ f-string _Template _模板字符等
- 在外远程登录公司内网OA系统
- android 双层进度条,CircularCounter 双层原形进度条效果《IT蓝豹》
- 一、针对工业领域线圈小目标检测,基于Yolov5s网络改进检测头实验及其检测效果对比
- KDD2016论文精品解读(二)
- vue即时通讯,一个很好用的插件
- Redis 远程连接( redis.conf 配置 auth 认证 重启 redis)
- Casbin明日之星预选生计划-Talent for Casbin 2021(长期招聘)