题意

对于第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相关推荐

  1. Codeforces-1610 C: Keshi Is Throwing a Party

    Codeforces-1610 C: Keshi Is Throwing a Party 题目传送门:Codeforces-1610 C 题目 题目截图 样例描述 题目大意   Keshi 正在举行一 ...

  2. Codeforces 1612C. Keshi Is Throwing a Party

    Codeforces 1612C. Keshi Is Throwing a Party 思路 首先容易发现,选择的人数具有单调性,是可以二分的 假设最后答案选了 xxx 个人,那么对于一个人有影响的, ...

  3. Codeforces 1610C Keshi Is Throwing a Party

    题意 Keshi有 nnn 个朋友,第 iii 个朋友有 iii 美元.如果邀请第 iii 个朋友做客,必须满足宴会上最多有 aia_iai​ 个人比他富有,最多 bib_ibi​ 个人比他贫穷. 问 ...

  4. C. Keshi Is Throwing a Party(二分答案),最/佳牛围栏,average。

    题目链接 题意: 一共n个人,第 i 个人的财富度为 i,每个人有两个属性 ai 和 bi,分别表示最多能够容忍的比自己富和比自己穷的人数. 问,最多能够选多少人,使得所有人的要求都可以满足. 思路: ...

  5. 1610C - Keshi Is Throwing a Party 题解

    题目传送门: Problem - 1610C - Codeforces 设  中的  表示你所选出的数列的已知最大长度限制,而且是只管右限制的最大长度限制. 比如说第一个数右限制是 4,那么最大长度限 ...

  6. 【二分】C. Keshi Is Throwing a Party

    题目链接: https://codeforces.com/problemset/problem/1610/C n个盆友,第i个盆友有i块钱,小明想尽可能邀请更多的人.第i个人高兴有个条件,比他钱多的不 ...

  7. XGB模型训练报错 terminate called after throwing an instance of ‘std::bad_alloc‘ what()

    背景:需要做XGB模型增量训练,但是因为一些原因没有得到原来的XGB模型,只有dump文件. XGB模型的dump文件是它的树结构存储为一个相对人类好理解的模型文件,但并不能被重新加载进XGB进行增量 ...

  8. 异常通知(After Throwing Advice)

    在方法抛出异常退出时执行的通知.ApplicationContext 中在<aop:aspect> 里面使用<aop:after-throwing>元素进行声明.例如,Serv ...

  9. 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 ...

最新文章

  1. Think Pad T410键盘溅水有惊无险
  2. how is SAP UI5 applyBackendSearchPattern being called
  3. 开启爬虫之路,从零开始...
  4. 多种方法列出集合中的所有子集(Python和Java实现)
  5. poj 1035 Spell checker(hash)
  6. MapReduce官方案例wordcount
  7. 无老师作文巨讲堂2015.8
  8. 第一章 Java性能调优概述
  9. 浏览器汇总、可信浏览器
  10. 02. OSI开放式互联参考七层模型
  11. python疲劳检测代码_【君奉天|开发日记】疲劳驾驶检测
  12. 华纳云:盘点那些年操作系统的成长史
  13. 发送微信模板消息+定时任务
  14. 用 Python 压缩文件方法汇总
  15. 「智能交通技术」知识星球更新内容(2.20至2.28)
  16. Red Giant Shooter Suite 13 for Mac(红巨人后期流程插件套装)
  17. Alpha阶段事后诸葛亮会议记录
  18. .c 与 .cpp .h与.hpp 的区别
  19. [创业故事]清风明月我 与谁同坐--我的创业故事-2
  20. 微博敲定在香港上市发行价:定价相对下降三成,散户认购情况惨淡

热门文章

  1. IAR 中的 Fatal Error[Lc002]: could not open file 解决办法
  2. android10系统是平板电脑吗,买平板电脑应该选win10还是安卓系统?
  3. 23_字符串的格式化_format 函数_% 占位符 _ f-string _Template _模板字符等
  4. 在外远程登录公司内网OA系统
  5. android 双层进度条,CircularCounter 双层原形进度条效果《IT蓝豹》
  6. 一、针对工业领域线圈小目标检测,基于Yolov5s网络改进检测头实验及其检测效果对比
  7. KDD2016论文精品解读(二)
  8. vue即时通讯,一个很好用的插件
  9. Redis 远程连接( redis.conf 配置 auth 认证 重启 redis)
  10. Casbin明日之星预选生计划-Talent for Casbin 2021(长期招聘)