[BZOJ]2054: 疯狂的馒头
来源:互联网 发布:php获取js变量值 编辑:程序博客网 时间:2024/06/11 03:46
数据太大,我们考虑对于一个馒头,最后一次染的色就是最后的颜色,然后就倒着来搞,加上并查集优化就好了
#include <cstdio>#include <algorithm>using namespace std;inline char tc(void){ static char fl[1000000],*A=fl,*B=fl; return A==B&&(B=(A=fl)+fread(fl,1,1000000,stdin),A==B)?EOF:*A++;}inline int read(void){ int a=0;static char c; while((c=tc())<'0'||c>'9'); while(c>='0'&&c<='9') a=a*10+c-'0',c=tc(); return a;}int n,m,p,q,f[1001002],c[1001002];int Find(int x) { if(!f[x]||f[x]==x) return f[x]=x; return f[x]=Find(f[x]); } int main(void){ register int i,x,y; n=read(),m=read(),p=read(),q=read(); for (i=m;i;--i) { x=((long long)i*p+q)%n+1,y=((long long)i*q+p)%n+1; if(x>y) swap(x,y); for (x=Find(x);x<=y;x=Find(x)) c[x]=i,f[x]=x+1; } for (i=1;i<=n;++i) printf("%d\n",c[i]); return 0;}
阅读全文
0 0
- 【BZOJ 2054】 疯狂的馒头
- bzoj 2054 疯狂的馒头
- bzoj 2054: 疯狂的馒头
- [BZOJ]2054: 疯狂的馒头
- BZOJ 2054 疯狂的馒头 并查集
- 【BZOJ 2054】疯狂的馒头 并查集
- bzoj 2054: 疯狂的馒头 并查集
- BZOJ 2054: 疯狂的馒头 并查集题解
- Codevs 2054疯狂的馒头
- bzoj2054: 疯狂的馒头
- BZOJ2054疯狂的馒头
- 【BZOJ2054】疯狂的馒头
- bzoj2054 疯狂的馒头
- BZOJ2054 疯狂的馒头
- bzoj2054 疯狂的馒头
- 【BZOJ2054】疯狂的馒头
- 【bzoj2054】疯狂的馒头
- 2054:疯狂的馒头/2375:疯狂的染色
- C#173课的主要内容
- javascript-->>排序
- 专题二 符号的技巧---- 8.注释符号
- 6.12--springboot相关
- 《大唐姻缘传》(李治篇) 第一章 天妒人眷 皇限将至
- [BZOJ]2054: 疯狂的馒头
- 背景
- Python命名规范
- C语言程序设计(44)
- web前端基础文档
- 经验分享-mysql主从/双主热备的配置与常规错误排查
- pycharm 如何不提交修改过的文件到git
- 02.java语言基础-参数的值传递机制-基本数据类型
- 一次输出多个相同数字的原理