博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
loj #2007. 「SCOI2015」国旗计划
阅读量:4621 次
发布时间:2019-06-09

本文共 1925 字,大约阅读时间需要 6 分钟。

#2007. 「SCOI2015」国旗计划

 

题目描述

A 国正在开展一项伟大的计划 —— 国旗计划。这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈。这项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了 N NN 名优秀的边防战上作为这项计划的候选人。

A 国幅员辽阔,边境线上设有 M MM 个边防站,顺时针编号 1 11 至 M MM。每名边防战士常驻两个边防站,并且善于在这两个边防站之间长途奔袭,我们称这两个边防站之间的路程是这个边防战士的奔袭区间。N NN 名边防战士都是精心挑选的,身体素质极佳,所以每名边防战士的奔袭区间都不会被其他边防战士的奔袭区间所包含。

现在,国十安全局局长希望知道,至少需要多少名边防战士,才能使得他们的奔袭区间覆盖全部的边境线,从而顺利地完成国旗计划。不仅如此,安全局局长还希望知道更详细的信息:对于每一名边防战士,在他必须参加国旗计划的前提下,至少需要多少名边防战士才能覆盖全部边境线,从而顺利地完成国旗计划。

输入格式

第一行,包含两个正整数 N,M N, MN,M,分别表示边防战士数量和边防站数量。

随后 n nn 行,每行包含两个正整数。其中第 i ii 行包含的两个正整数 Ci C_iCi​​、Di D_iDi​​ 分别表示 i ii 号边防战士常驻的两个边防站编号,Ci C_iCi​​ 号边防站沿顺时针方向至 Di D_iDi​​ 号边防站力他的奔袭区间。数据保证整个边境线都是可被覆盖的。

输出格式

输出数据仅 1 11 行,需要包含 n nn 个正整数。其中,第 j jj 个正整数表示 j jj 号边防战士必须参加的前提下至少需要多少名边防战士才能顺利地完成国旗计划。

样例

样例输入

4 82 54 76 17 3

样例输出

3 3 4 3

数据范围与提示

N≤2×105,M<109,1≤Ci,Di≤M N \leq 2 \times 10 ^ 5, M < 10 ^ 9, 1 \leq C_i, D_i \leq MN2×105​​,M<109​​,1Ci​​,Di​​M

 

 

#include
#include
#include
#include
#define maxn 400010using namespace std;int head[maxn],dep[maxn],s[maxn],ans[maxn];int n,m,num,t;struct node{
int to,pre;}e[maxn*2];struct Node{ int l,r,id; bool operator < (const Node &x)const{ return l
=q[now].l+m)h++; ans[q[now].id]=dep[now]-dep[s[h]]+1; } for(int i=head[now];i;i=e[i].pre){ int to=e[i].to; dfs(to,now,h); } t--;}int main(){ freopen("Cola.txt","r",stdin); scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ int l,r; scanf("%d%d",&l,&r); if(l>r)r+=m; q[i].l=l;q[i].r=r;q[i].id=i; q[i+n].l=l+m;q[i+n].r=r+m; } int now=1; sort(q+1,q+2*n+1); for(int i=1;i<2*n;i++){ while(now<2*n&&q[i].r>=q[now+1].l)now++; Insert(now,i); } dfs(2*n,0,1); for(int i=1;i<=n;i++) printf("%d ",ans[i]); return 0;}
自上向下

 

转载于:https://www.cnblogs.com/thmyl/p/8867928.html

你可能感兴趣的文章
js 模糊查询 (360接口)
查看>>
python+rabbitMQ实现生产者和消费者模式
查看>>
“模态”对话框和“后退”按钮
查看>>
关于javascript实现的网站页面侧边悬浮框"抖动"问题
查看>>
linux_命令格式和命令提示符
查看>>
Cocos2d-X-3.0之后的版本的环境搭建
查看>>
when case group by 的用法集合
查看>>
洛谷P1908 逆序对
查看>>
转义符
查看>>
poj 1019
查看>>
asp.net mvc上传文件
查看>>
bitmq集群高可用测试
查看>>
主成分分析(PCA)原理详解
查看>>
短信验证接口网址
查看>>
Geohash距离估算
查看>>
Demon_背包系统(实现装备栏,背包栏,可以切换装备)
查看>>
记录:一次数据库被恶意修改配置文件的问题
查看>>
redis 持久化
查看>>
解决Jupyter notebook[import tensorflow as tf]报错
查看>>
Windows平台下使用ffmpeg和segmenter实现m3u8直播点播
查看>>