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 ;
}

汕头市队赛 SRM 09 A 撕书的更多相关文章

  1. 汕头市队赛 SRM 09 C 撕书

    C 撕书III-3 SRM 09 背景&&描述 琉璃双在撕书.     书总共有n页,每页都可以看作是一个数字.     琉璃读书喜欢来回地读.但他也因此发现了作者的灌水行为:有些连续 ...

  2. 汕头市队赛 SRM 09 B 撕书

    B 撕书II-3 SRM 09 背景&&描述 琉璃手头有一黑一白两本魔法书,一本是<缟玛瑙的不在证明>,另一本是<白色相簿1.5>     传说同时打开这两本书 ...

  3. 汕头市队赛 SRM 06 A 撕书

    A 撕书 SRM 06 背景&&描述 游行寺汀正在杀书.         书总共有n页,每页都可以看作是一个小写英文字母,所以我们可以把书看成长度为n的字符串s.         琉璃 ...

  4. 汕头市队赛 SRM 07 D 天才麻将少女kpm

    这道题放了很久还是回来补了 D 天才麻将少女KPM SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     KPM上周叒打了n场麻将,但她这次又没控分,而且 ...

  5. 汕头市队赛SRM 20 T2不净的圣杯

    不净的圣杯 SRM 20 背景 作为一张BUG级别的卡,官方打算把它修改得人畜无害一些…… 虽然名字还没想好,但是能力大概是对敌方所有单位造成d点伤害,d为自己牌组中所有卡的编号的最大公约数.这无疑是 ...

  6. 汕头市队赛 SRM 07 B 好玩的麻将

    B 好玩的麻将 SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     KPM上周又打了n场麻将,又控了分使得自己的排名是1..n的一个排列.     但她 ...

  7. 汕头市队赛 SRM 06 C 秀恩爱

    C 秀恩爱 SRM 06 背景&&描述         KPM坐在直升机上俯瞰小渔村景象.         渔村可看作二维平面,密密麻麻地到处都是单身狗,KPM当前所在坐标为(sx,s ...

  8. 汕头市队赛 SRM 06 B 起伏的排名

    B 起伏的排名 SRM 06 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     在上个星期她打了n场麻将,每场麻将都有n名玩家.KPM自然记得自己的n次排名.   ...

  9. 汕头市队赛 SRM 08 B

    B-3 SRM 08 描述 给长度为 n 的数列 A 和长度为 m 的数列 B,问有多少长度为 m 的数列 C 满足 输入格式 第一行俩整数 n 和 m 第二行 n 个整数 ,表示数列 A 第三行 m ...

随机推荐

  1. thymelef模板报错 the entity name must immediately follow the '&' in the entity reference

    thymelef模板里面是不能实用&符号的 要用&转义符代替,官网也有文档说明可以用官方的通配符代替,官方文档http://www.thymeleaf.org/doc/tutorial ...

  2. 判断移动端和pc端最简单的方法

    <!DOCTYPE html><html><head> <title></title> <script type="text ...

  3. 一个操作轻松截取长图,Win10上网截长图小技巧!

    截屏的方法有很多,但是有时候我们会遇到比电脑屏幕还大的图,比如网站上的长图.N条引用的评论...你要怎么截取呢?是不是最多只能截全屏?还是要做到第三方的截图软件呢? 下面介绍一种win10电脑自带的滚 ...

  4. strchr函数的用法

    原型: char *strchr(const char *s,char c); #include<string.h> 查找字符串s中首次出现字符c的位置,返回首次出现c的位置的指针,如果s ...

  5. Python文章推荐1

    Table of Contents 1. 分享最近看到的python相关的几篇好文(我只是想偷懒) 1.1. 形象解释了什么是GIL 1.2. 知乎上 Pythonic 相关 1.3. evil &q ...

  6. 16,docker入门

      在学一门新知识的时候,超哥喜欢提问,why?what?how? wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一 ...

  7. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)

    本文导航 -1. 注册并启用红帽订阅 -2. 使用静态 IP 地址配置网络 -3. 设置服务器的主机名称 -4. 更新或升级最小化安装的 CentOS -5. 安装命令行 Web 浏览器 -6. 安装 ...

  8. ceph 存储系统

    http://w w w.c s d n 123.com/html/topnews201408/2/4702.htm

  9. Object Pascal中文手册 经典教程

    Object Pascal 参考手册 (Ver 0.1)ezdelphi@hotmail.com OverviewOverview(概述)Using object pascal(使用 object p ...

  10. Python 爬取网页中JavaScript动态添加的内容(一)

    当我们进行网页爬虫时,我们会利用一定的规则从返回的 HTML 数据中提取出有效的信息.但是如果网页中含有 JavaScript 代码,我们必须经过渲染处理才能获得原始数据.此时,如果我们仍采用常规方法 ...