C240817C. 团队协作

二分显然,但是被check难住了。

以为只能把运动员按速度分成两类,然后二分图找最大匹配,但显然做不动。

然后考场上就被卡住了………

看了题解突然勾起了对一道题远古的记忆:总之也是二分之后是要看能不能全匹配上。

然后当时用的就是sort之后贪心,发现这个贪心很对,恍然大悟。

\(A\) 里面第一小的就应该匹配 \(B\) 里面第一个比它大的,匹配后面的,那再匹配 \(A\) 后面的数就不优了。

多做题就好了。

#include<bits/stdc++.h>
#define F(i,l,r) for(int i(l);i<=r;++i)
#define G(i,r,l) for(int i(r);i>=l;--i)
#define int ll
using namespace std;
using ll = long long;
const int N=1e5+55;
vector<int> A,B;
int n;
int v[N],w[N];
inline bool check(int lim){
A.clear();
B.clear();
F(i,1,n){
if(v[i] < lim) A.emplace_back(w[i]);
else B.emplace_back(v[i] + w[i] - lim);
}
sort(A.begin(),A.end());
sort(B.begin(),B.end());
int u = 0, sz = A.size();
for(auto x:B){
if(u<sz && A[u]<= x) ++u;
}
return u>=sz;
}
signed main(){
// freopen("team.in","r",stdin);
// freopen("team.out","w",stdout);
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin>>n;
F(i,1,n) cin>>v[i]>>w[i];
int l=0,r=1e9+1,mid;
while(l+1<r){
mid=(l+r)>>1;
if(check(mid)) l=mid;
else r=mid;
}
cout<<l<<"\n";
return 0;
}
/*
T
n,m,k,st
u,v,w
think twice, code once.
check your code:
array memory
testing sentence
*/

C240817C. 团队协作:二分答案+贪心的更多相关文章

  1. BZOJ_2196_[Usaco2011 Mar]Brownie Slicing_二分答案+贪心

    BZOJ_2196_[Usaco2011 Mar]Brownie Slicing_二分答案+贪心 Description Bessie烘焙了一块巧克力蛋糕.这块蛋糕是由R*C(1 <= R,C ...

  2. 洛谷3933 Chtholly Nota Seniorious 二分答案+贪心

    题目链接 题意 给你一个N*M的矩阵 (N,M <=2000)  把他分成两部分 使两部分的极差较大的一个最小  求这个最小值.然后分矩阵的要求是:每个部分内部的方块之间,可以通过上下左右相互到 ...

  3. 【二分答案+贪心】UVa 1335 - Beijing Guards

    Beijing was once surrounded by four rings of city walls: the Forbidden City Wall, the Imperial City ...

  4. 【二分答案+贪心】解决“最小值最大”问题(UVa 12124 - Assemble)

    Problem A - Assemble Time limit: 2 seconds Recently your team noticed that the computer you use to p ...

  5. 【洛谷】【二分答案+贪心】P1316 丢瓶盖

    [题目描述:] 陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢? [ ...

  6. BZOJ5321 JXOI2017加法(二分答案+贪心+堆+树状数组)

    二分答案后得到每个位置需要被加的次数.考虑贪心.从左到右考虑每个位置,将以该位置为左端点的区间按右端点从大到小加进堆.看该位置还需要被加多少次,如果不需要加了就不管,否则取堆顶区间将其选择,BIT实现 ...

  7. Gym 100886J Sockets 二分答案 + 贪心

    Description standard input/outputStatements Valera has only one electrical socket in his flat. He al ...

  8. bzoj 4310 跳蚤 —— 后缀数组+二分答案+贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4310 二分答案——在本质不同的子串中二分答案! 如果二分到的子串位置是 st,考虑何时必须分 ...

  9. [CSP-S模拟测试]:kill(二分答案+贪心)

    题目传送门(内部题50) 输入格式 第一行包含四个整数$n,m,s$,表示人数.怪物数及任务交付点的位置.第二行包含$n$个整数$p_1,p_2,...,p_n$.第三行包含$n$个整数$q_1,q_ ...

  10. G - 土耳其冰淇凌 Gym - 101194D(二分答案 + 贪心检验)

    熊猫先生非常喜欢冰淇淋,尤其是冰淇淋塔.一个冰淇淋塔由K个冰淇淋球堆叠成一个塔.为了使塔稳定,下面的冰淇淋球至少要有它上面的两倍大.换句话说,如果冰淇淋球从上到下的尺寸是A0, A1, A2,···, ...

随机推荐

  1. Java学习笔记2--JDK的安装和配置

    一.进入oracle官网,下载jdk oracle官网:Oracle | Cloud Applications and Cloud Platform ps:不同的浏览器,可能进入oracle官网,会只 ...

  2. SMU Autumn 2023 Round 3(Div.1)

    SMU Autumn 2023 Round 3(Div.1) A. Find The Array 要满足"b数组内任意一个元素满足可以被数组两边的元素整除"这个条件,我们很容易想到 ...

  3. k8s实践——命名空间隔离+request-key机制解决CSI内核态域名解析

    0x01 背景 Pod需要使用远程存储的PV,由同k8s集群内的服务提供的存储服务.一开始的做法是: CSI中解析Service的clusterIP. 然后使用clusterIP挂载PV卷. 但因为走 ...

  4. Python 开发中,使用bcrypt 或 Passlib 对系统用户密码进行哈希和验证处理

    在设计一个系统的时候,肯定都有会有用户身份认证的问题,一般对用户校验的时候,都是对用户存在数据库总的密码哈希值进行判断,从而避免密码泄露和反向解密,那么在Python 开发中,我们可以引入bcrypt ...

  5. .NET Core学习笔记(6)——UWP略过SSL证书调用SignalR服务

    在前一篇<.NET Core学习笔记(5)--WebAPI从Server端push消息到Client>中,我们简单学习了.NET Core版本SignalR的使用.Sample工程里我们创 ...

  6. 掌握Java面向对象OOP篇(一)

    掌握面向对象OOP篇(一) 边学边记 -- OOP(Object Orientated Programing) 1. 为什么要引入面向对象? 原因:封装.继承.多态 举个例子理解面向对象代码的好处: ...

  7. 【音视频通话】使用asp.net core 8+vue3 实现高效音视频通话

    引言 在三年前,写智能小车的时候,当时小车上有一个摄像头需要采集,实现推拉流的操作,技术选型当时第一版用的是nginx的rtmp的推拉流,服务器的配置环境是centos,2H4G3M的一个配置,ngi ...

  8. Python if __name__ == "__main__" 解释

    一种机制,允许脚本以不同的方式运行,这取决于作为独立的程序执行还是作为模块被其他脚本导入.这种机制就是 if __name == "__main__" 其作用是控制某些代码块只在该 ...

  9. chrome.tabs.sendMessage和chrome.runtime.sendMessage的用法及区别

    在 Chrome 扩展开发中,chrome.tabs.sendMessage 和 chrome.runtime.sendMessage 是用于不同目的的消息发送 API,它们的主要区别在于消息的目标对 ...

  10. windows 误删除\AppData\Local\文件夹后 异常的修复

    背景:清除Temp文件夹时,路径复制错误,少复制了Temp,导致删除了文件夹 C:\Users\username\AppData\Local\ 异常现象: 估计删除Local文件夹后,出现的问题应该会 ...