#2007. 「SCOI2015」国旗计划

思路:

  跪烂Claris

代码:

#include <cstdio>
#include <algorithm>
#define maxn 800010
int n,m,ai[maxn][],bi[maxn],f[maxn<<],st[maxn];
int g[maxn],nxt[maxn<<],q[maxn<<],t,ans[maxn],L,x,y,i;
inline void in(int&a)
{
char c;
while(!(((c=getchar())>='')&&(c<='')));
a=c-'';while(((c=getchar())>='')&&(c<=''))(a*=)+=c-'';
}
inline int lower(int x)
{
int l=,r=m,mid,t;
while(l<=r) if(bi[mid=(l+r)>>]<=x) l=(t=mid)+;else r=mid-;
return t;
}
inline void up(int &x,int y)
{
if(x<y) x=y;
}
void dfs(int x)
{
q[++t]=x;
if(x<=m)
for(int i=L;;i++)
if(q[t-i]>=x+m)
{
ans[x]=i;
break;
}
for(int i=g[x];i;i=nxt[i]) dfs(i);
t--;
}
int main()
{
freopen("data.txt","r",stdin);
in(n),in(m);
for(m=,i=;i<=n;i++) in(ai[i][]),in(ai[i][]),bi[++m]=ai[i][],bi[++m]=ai[i][];
for(std::sort(bi+,bi+m+),i=;i<=n;i++)
{
st[i]=x=lower(ai[i][]),y=lower(ai[i][]);
if(x<y) up(f[x],y),up(f[x+m],y+m);
else up(f[],y),up(f[x],y+m),up(f[x+m],m+m);
}
for(i=;i<=m+m;i++) up(f[i],f[i-]);
for(i=;i<m+m;i++) nxt[i]=g[f[i]],g[f[i]]=i;
for(L=-,i=;i<=m;i=f[i])L++;
dfs(m+m);
for(i=;i<=n;i++) printf("%d ",ans[st[i]]);
return ;
}

最新文章

  1. #iPhone6与iPhone6Plus适配#如何在Xcode 6中创建 PCH 文件
  2. cookie 操作
  3. css -- 题目汇总
  4. 联系 管理 Hibernate4+Spring JPA+SpringMVC+Volecity搭建web应用(三)
  5. SVN补充
  6. HDU 4655 Cut Pieces(数学分析题)
  7. MYSQL 配置slave故障
  8. hibernate annotation注解 主键ID自增长
  9. Java Singleton 单例模式
  10. Java SE (6)之 多线程
  11. MyBatis(5):MyBatis集成Spring事务管理(上)
  12. sql server 2008 在安装了活动目录以后无法启动服务了
  13. GitBook 配置说明
  14. javaScript-什么是变量?
  15. luogu P3810 三维偏序(陌上花开)cdq分治
  16. TensorFlow:检查显卡支持哪个版本的CUDA
  17. python中类似三元表达式的写法
  18. BZOJ4095 : [Usaco2013 Dec]The Bessie Shuffle
  19. Maven将依赖包、jar/war包及配置文件输出到指定目录
  20. java异常中throw和throws的区别

热门文章

  1. Codeforces Round #343 (Div. 2) B
  2. 关闭nginx日志
  3. 二叉树系列 - 二叉树里的最长路径 例 [LeetCode] Binary Tree Maximum Path Sum
  4. 数据结构:Bitset
  5. 在不安装Windows服务的情况下,如何进行调试或测试
  6. 【BZOJ】1552/3506 [Cerc2007]robotic sort
  7. 【BZOJ】1984 月下“毛景树”
  8. java springmvc4 图片或文件上传
  9. httpd -v command not found
  10. bzoj 1050 并查集