A 撕书I-3 SRM 09

背景&&描述

琉璃在撕书。
    书总共有n页,都悬浮在数轴上,第i页的位置为,上面写着一个数字
    琉璃从右往左撕书。假如看到了第i页,就把在第i页左边,且与之距离<=的书都撕掉。(第i页本身不撕)
    夜子为了尽量地保全魔法书,决定偷偷在琉璃开始撕之前,增加一页。增加的这一页必须在所有书页的右边,数字随意。
    夜子想知道,最少会有多少页书被撕毁。

输入格式

第一行一个整数n,表示书页数。

接下来n行,第i行的俩整数分别为

输出格式

一个整数,表示最少被撕毁的书页数。

样例输入

4
1 9
3 1
6 1
7 4

样例输出

1

数据范围与约定

  • 对于100%的数据:,,保证不同页的位置不同。

来源

cf原题

错在位置等于0时树状数组没有特判掉QAQ 最后坐标全部+1就是答案了

————————————————————————————————————————

这道题很容易想到那个可以多加一页就是可以消去最后的某一段以实现答案的最优

所以我们只需要考虑每个点 如果他要保留 那么他要撕掉多少页 记录一答案就行辣

#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
const int M=1e6+;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int ans,n,sum[M],s[M],mx;
struct node{int x,c;}e[M];
bool cmp(node a,node b){return a.x<b.x;}
int lowbit(int x){return x&-x;}
int query(int x){
int sum=;
while(x>){sum+=s[x]; x-=lowbit(x);}
return sum;
}
void insert(int x){
while(x<=mx){
s[x]++;
x+=lowbit(x);
}
}
int main()
{
n=read();
for(int i=;i<=n;i++) e[i].x=read()+,e[i].c=read(),mx=max(mx,e[i].x);
sort(e+,e++n,cmp);
for(int i=;i<=n;i++){
int k=query(e[i].x-e[i].c-);
sum[i]=sum[k]+;
ans=max(sum[i],ans);
insert(e[i].x);
}
printf("%d\n",n-ans);
return ;
}

最新文章

  1. C#微信开发小白成长教程一(公众平台的工作原理与调试环境部署,附视频)
  2. BizTalk开发系列(十六) XML命名空间
  3. 一个PHP写的简单webservice服务端+客户端
  4. Xceed WPF 主题皮肤控件Xceed Professional Themes for WPF详细介绍
  5. easyui 布局自适应
  6. Linux优化之IO子系统监控与调优
  7. 执行start-dfs.sh后,datenode没有启动
  8. Codeforces 437C The Child and Toy(贪心)
  9. 《Python简明教程》总结
  10. Selenium2(java)框架设计 九
  11. 学习ASP.NET Core Razor 编程系列二——添加一个实体
  12. hdu4622(hash解法)
  13. Deep Learning - 1 神经网络
  14. webgl开发中添加IIS的mime类型
  15. npm安装依赖包 --save-dev 和 --save; package.json的devDependencies和dependencies 的区别!
  16. android 获取view在屏幕中的位置
  17. iOS开发笔记18:一些编译、开发调试、打包的细节整理
  18. serial minicom
  19. PKU 1521 Entropy(简单哈弗曼树_水过)
  20. Chart.js入门教程

热门文章

  1. Apache安装之后,在浏览器输入ip无法访问
  2. C语言进阶——循环语句07
  3. PTA 7-10(图) 旅游规划 最短路问题
  4. [BZOJ4196]软件包管理器(树链剖分)
  5. WPF仿酷狗页面
  6. python datetime offset-aware与offset-navie相互转换
  7. Erlang中常用的类型转换[转]
  8. Python 定义及使用结构体
  9. 《Cracking the Coding Interview》——第18章:难题——题目4
  10. python学习笔记五:模块和包