[BZOJ2298]problem a
Description
Input
第一行一个整数n,接下来n行每行两个整数,第i+1行的两个整数分别代表ai、bi
Output
一个整数,表示最少有几个人说谎
Sample Input
2 0
0 2
2 2
Sample Output
HINT
100%的数据满足: 1≤n≤100000 0≤ai、bi≤n
首先我们考虑一下,撒谎的人去哪了
然后经过周密的推理分析,可以发现,他们爱去哪去哪跟我们半毛钱关系没有
所以我们直接不管他,一开始把不符合条件的直接判掉
然后对于一个人暂时符合条件的人,可以发现它跟其他人的人物关系可以表示成这样
红色表示和我一样的,黄色表示比我弱的,蓝色表示比我强的

可以发现“和我一样的”这个区间一定是不交的
然后我们就相当于要找一些不交的区间使个组最多
用线段树维护一下即可
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
#define ls node<<1
#define rs node<<1|1
#define M 100010
using namespace std;
map<int,int>MP[M];
int n,cnt,ans;
int f[M],val[M<<];
struct point{int l,r,v;}a[M];
bool cmp(point a1,point a2) {
return a1.l<a2.l||(a1.l==a2.l&&a1.r<a2.r);
}
void insert(int node,int l,int r,int p,int v) {
val[node]=max(val[node],v);
if(l==r) return;
int mid=(l+r)/;
if(p<=mid) insert(ls,l,mid,p,v);
else insert(rs,mid+,r,p,v);
}
int query(int node,int l,int r,int l1,int r1) {
if(l1<=l&&r1>=r) return val[node];
int mid=(l+r)/,ans=;
if(l1<=mid) ans=max(ans,query(ls,l,mid,l1,r1));
if(r1>mid) ans=max(ans,query(rs,mid+,r,l1,r1));
return ans;
}
int main() {
scanf("%d",&n);
for(int i=,l,r;i<=n;i++) {
scanf("%d%d",&l,&r);l=l+,r=n-r;
if(l>r) continue;
if(!MP[l][r]) MP[l][r]=++cnt,f[cnt]++,a[cnt]=(point){l,r,};
else f[MP[l][r]]++;
}
for(int i=;i<=cnt;i++) a[i].v=min(f[i],a[i].r-a[i].l+);
sort(a+,a++cnt,cmp);
for(int i=;i<=cnt;i++) {
int t=;
if(a[i].l>) t=query(,,n,,a[i].l-);
insert(,,n,a[i].r,t+a[i].v);
ans=max(ans,t+a[i].v);
}
printf("%d\n",n-ans);
return ;
}
[BZOJ2298]problem a的更多相关文章
- OI动态规划&&优化 简单学习笔记
持续更新!! DP的难点主要分为两类,一类以状态设计为难点,一类以转移的优化为难点. DP的类型 序列DP [例题]BZOJ2298 problem a 数位DP 常用来统计或者查找一个区间满足条件的 ...
- 【BZOJ2298】[HAOI2011]problem a DP
[BZOJ2298][HAOI2011]problem a Description 一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相 ...
- BZOJ2298: [HAOI2011]problem a
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2298 题解:刚开始思考的方向错了...一直在想LIS什么的,又发现不合法的情况不好判断,真是个 ...
- BZOJ2298:[HAOI2011]problem a——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=2298 https://www.luogu.org/problemnew/show/P2519 一次 ...
- [BZOJ2298] [HAOI2011] problem a (dp)
Description 一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相同的分数) Input 第一行一个整数n,接下来n行每行两个 ...
- 【BZOJ2298】[HAOI2011]problem a
题解: 虽然也是个可以过得做法...但又没有挖掘到最简单的做法... 正解是发现这个东西等价于求不相交区间个数 直接按照右端点排序,然后贪心就可以O(n)过了 而我的做法是按照a排序(其实我是在模拟这 ...
- BZOJ2298: [HAOI2011]problem a(带权区间覆盖DP)
Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1747 Solved: 876[Submit][Status][Discuss] Descripti ...
- BZOJ2298 [HAOI2011]problem a 【dp】
题目 一次考试共有n个人参加,第i个人说:"有ai个人分数比我高,bi个人分数比我低."问最少有几个人没有说真话(可能有相同的分数) 输入格式 第一行一个整数n,接下来n行每行两个 ...
- 【动态规划】bzoj2298: [HAOI2011]problem a
建模超级妙…… Description 一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相同的分数) Input 第一行一个整数n,接 ...
随机推荐
- Java课程寒假之开发记账本软件(网页版)之一
一.制定网页版记账本的基础功能 首先是下载了几个记账本APP,大致地看了一下记账本的功能:添加记录(支出,收入,自定义模板),查询流水(分类查询),账户. 二.开始做出框架 鉴于记账本有上面的功能,所 ...
- mac重启,开启apache时报错~~~镜像没有找到
mac重启apache时,报类似下面的错 dyld: Library not loaded: /usr/local/lib/libjpeg8.dylib Referenced from: /usr/l ...
- 一些关于SQL优化的总结
由于这个项目一直都是mysql所以写点mysql的 1.数据存储引擎的选择,MyISAM 和 InnoDB 的选择 InnoDB 一般都会选择这个,但是如果真的涉及到一些不涉及增删的表,可以考虑下My ...
- 在vue项目里使用jquery
1.NPM 安装 jQuery,项目根目录下运行以下代码 npm install jquery --save 2.webpack配置在项目根目录下的build目录下找到webpack.base.con ...
- asp.net mvc ef 性能监控调试工具 MiniProfiler
MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序.可以对一个页面本身,及该页面通过直接引用.Ajax.Iframe形式访问的其它页面进行监控 ...
- Codeforces 1090B - LaTeX Expert - [字符串模拟][2018-2019 Russia Open High School Programming Contest Problem B]
题目链接:https://codeforces.com/contest/1090/problem/B Examplesstandard input The most famous characters ...
- stm32专属于菜鸟的学习方法
1.首先我们先看看与STM32相关的文档 我们假定大家已经对STM32的书籍或者文档有一定的理解.如不理解,请立即阅读STM32的文档,以获取最基本的知识点. 如果你手上拥有ST官方主推的STM32神 ...
- arcmap发布服务报错:“Faild to publish service”
发布gp服务时,Analyze没有重大错误,但是发布结束时提示"Faild to publish service".让人很懵逼: 解决方法: 打开arcgis server man ...
- python2,python3同时安装时,python3可以安装并升级pip库,python2报错的解决办法
最近在使用pip安装包的的时候出现下面错误 UnicodeEncodeError: 'ascii' codec can't encode character u'\u258f' 查询资料后发现原因是p ...
- Java ee第六周作业
JSF 生命周期: FacesServlet 充当用户和 JSF 应用程序之间的纽带.它在明确限定的 JSF 生命周期(规定了用户请求之间的整个事件流)的范围内工作. 1. 当JSF页面上的一个事 ...