AtCoder Regular Contest 076 F - Exhausted?
题意:
n个人抢m个凳子,第i个人做的位置必须小于li或大于ri,问最少几个人坐不上。
这是一个二分图最大匹配的问题,hall定理可以用来求二分图最大匹配。
关于hall定理及证明,栋爷博客里有:http://blog.csdn.net/werkeytom_ftd/article/details/65658944
可以推出答案为$max\{|x|-Γ(X)\}$,x为左侧点的一个子集,Γ(X)为这些点能到达的右侧点的集合。
证明:
因为二分图有完美匹配的充要条件是对于所有的x都有Γ(X)>=|x|,所以至少要再加$max\{|x|-Γ(X)\}$个点才能让这张图有完美匹配。
考虑向右侧新加$max\{|x|-Γ(X)\}$个点,与左侧所有点都有边,显然对于所有的x都有Γ(X)>=|x|,既这张图有完美匹配。
所以最少加$max\{|x|-Γ(X)\}$个点。
然后就可以枚举Γ(X),用线段树维护|x|。
#include<bits/stdc++.h>
#define N 200005
#define pd push_back
#define ls x<<1,l,mid
#define rs x<<1|1,mid+1,r
using namespace std;
int n,m;
vector<int>s[N];
int t[N<<2],f[N<<2];
void build(int x,int l,int r)
{
if(l==r){t[x]=l;return ;}
int mid=(l+r)>>1;build(ls);build(rs);
t[x]=max(t[x<<1],t[x<<1|1]);
}
void add(int x,int l,int r,int ll,int rr)
{
if(l>=ll&&r<=rr)
{
t[x]++;f[x]++;return ;
}
int mid=(l+r)>>1;
if(ll<=mid)add(ls,ll,rr);
if(rr>mid)add(rs,ll,rr);
t[x]=f[x]+max(t[x<<1],t[x<<1|1]);
}
int qur(int x,int l,int r,int ll,int rr)
{
if(l>=ll&&r<=rr)return t[x];
int mid=(l+r)>>1;
if(ll>mid)return f[x]+qur(rs,ll,rr);
if(rr<=mid)return f[x]+qur(ls,ll,rr);
return f[x]+max(qur(ls,ll,rr),qur(rs,ll,rr));
}
int main()
{
scanf("%d%d",&n,&m);
int ans=0;
for(int i=1;i<=n;i++)
{
int t1,t2;scanf("%d%d",&t1,&t2);s[t1].pd(t2);
}
build(1,0,m+1);
for(int i=0;i<=m;i++)
{
for(auto j:s[i])add(1,0,m+1,0,j);
ans=max(ans,qur(1,0,m+1,i+1,m+1)-i-m-1);
}
printf("%d\n",max(n-m,ans));
return 0;
}
AtCoder Regular Contest 076 F - Exhausted?的更多相关文章
- 【AtCoder Regular Contest 076 F】Exhausted (贪心)
Description 机房里有M台电脑排成一排,第i台电脑的坐标是正整数i. 现在有N个OIer进入了机房,每个OIer需要一台电脑来学tui习ji,同时每个OIer对自己电脑所处的坐标范围有一个要 ...
- AtCoder Regular Contest 069 F Flags 二分,2-sat,线段树优化建图
AtCoder Regular Contest 069 F Flags 二分,2-sat,线段树优化建图 链接 AtCoder 大意 在数轴上放上n个点,点i可能的位置有\(x_i\)或者\(y_i\ ...
- AtCoder Regular Contest 076
在湖蓝跟衡水大佬们打的第二场atcoder,不知不觉一星期都过去了. 任意门 C - Reconciled? 题意:n只猫,m只狗排队,猫与猫之间,狗与狗之间是不同的,同种动物不能相邻排,问有多少种方 ...
- AtCoder Regular Contest 074 F - Lotus Leaves
题目传送门:https://arc074.contest.atcoder.jp/tasks/arc074_d 题目大意: 给定一个\(H×W\)的网格图,o是可以踩踏的点,.是不可踩踏的点. 现有一人 ...
- AtCoder Regular Contest 076 E - Connected?
题目传送门:https://arc076.contest.atcoder.jp/tasks/arc076_c 题目大意: 给定一个\(R×C\)的矩阵,然后给定\(N\)对点,每对点坐标为\((X_{ ...
- AtCoder Regular Contest 081 F - Flip and Rectangles
题目传送门:https://arc081.contest.atcoder.jp/tasks/arc081_d 题目大意: 给定一个\(n×m\)的棋盘,棋盘上有一些黑点和白点,每次你可以选择一行或一列 ...
- AtCoder Regular Contest 066 F Contest with Drinks Hard
题意: 你现在有n个题目可以做,第i个题目需要的时间为t[i],你要选择其中的若干题目去做.不妨令choose[i]表示第i个题目做不做.定义cost=∑(i<=n)∑(i<=j<= ...
- AtCoder Regular Contest 067 F - Yakiniku Restaurants
题意: 有n个餐厅排成一排,第i个与第i+1个之间距离是Ai. 有m种食物,每种食物只能在一个餐厅里吃,第j种食物在第i个餐厅里吃的收益是$b[i][j]$. 选择每种食物在哪个餐厅里吃,使收益减去走 ...
- AtCoder Regular Contest 059 F Unhappy Hacking
Description 题面 Solution 我们发现如果一个位置需要被退掉,那么是 \(0\) 或 \(1\) 都没有关系 于是我们想到把 \(0,1\) 归为一类 问题转化为每一次可以添加和删除 ...
随机推荐
- 印象深刻的bug
测试中测到一个印象比较深刻的bug,问题出现在web端的电商平台,展示商品的时候每点击一个商品相应的url=~/productid.html,如果知道productid可以直接在url输入跳转到商品详 ...
- Nginx+upstream针对后端服务器容错的运维笔记
熟练掌握Nginx负载均衡的使用对运维人员来说是极其重要的!下面针对Nignx负载均衡upstream容错机制的使用做一梳理性说明: 一.nginx的upstream容错 1)nginx 判断节点失效 ...
- pair work 附加题解法(张艺 杨伊)
1.改进电梯调度的interface 设计, 让它更好地反映现实, 更能让学生练习算法, 更好地实现信息隐藏和信息共享,目前的设计有什么缺点, 你会如何改进它? 目前的缺点: (1)电梯由于载客重量不 ...
- 个人阅读作业 --软件工程M1/M2总结
软件工程M1/M2总结 写在前面的话: 这学期的软件工程伴着考期的展开逐渐落下帷幕,回顾这学期的软件工程,我感觉我的热情在一次又一次的失落中逐步消耗殆尽,每个人对于这门课的体验都会有所不同吧,可以确定 ...
- linux内核分析第二四学习报告
学生 黎静 课程内容 计算机三大法宝 • 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: • 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那 ...
- sqoop 使用笔记
好久没有更新自己技术博客,现在开始工作了,把自己遇到的问题写到这里边来 主要把自己的问题写出来,分享给大家 sqoop 导入数据时候 有时候会遇到mysql 中有sql 中的关键字 这时候如果直接导出 ...
- [BUAA_SE_2017]个人项目-Sudoku
个人项目作业-数独 Github项目地址 时间预估 PSP2.1 Personal Software Process Stages 预估时间(分钟) 实际耗时(分钟) Planning 计划 60 · ...
- JavaScript 编程易错点整理
Case 1: 通过getElementById("id")获得是一个DOM元素节点对象: 通过getElementsByTagName("tagName")获 ...
- CodeIgniter 2.x和3.x修改默认控制器问题解答
首先明确一点,CodeIgniter框架的2.x和3.x版本中修改默认控制器是有一点区别的 但相同的操作都是修改application/config/routes.php $route['defaul ...
- Spring Boot features - Profiles
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html https://w ...