[BZOJ2054] 疯狂的馒头/[BZOJ2375] 疯狂的涂色
2016-02-10 21:04
330 查看
传送门
http://www.lydsy.com/JudgeOnline/problem.php?id=2054http://www.lydsy.com/JudgeOnline/problem.php?id=2375
题目大意
给定涂色的顺序,后涂色会覆盖之前的,询问m次涂色后的n个点的颜色题解
后涂的会覆盖之前涂的,所以我们倒着涂还没涂色的部分就一定是最后版本的颜色,每次涂完把区间内的用并查集连起来,就可以做到O(N+M)O(N+M)的复杂度了{$M 100000000,0,100000000} const maxn=1000005; var fa,ans:array[0..maxn]of longint; i,j,k:longint; n,m,p,q,l,r:longint; tt:int64; function get(a:longint):longint; begin if fa[a]=a then exit(a); fa[a]:=get(fa[a]); exit(fa[a]); end; begin readln(n,m,q,p); for i:=1 to n+1 do begin fa[i]:=i; ans[i]:=0; end; for i:=m downto 1 do begin l:=((i*p+q)mod n)+1; r:=((i*q+p)mod n)+1; if l>r then begin j:=l; l:=r; r:=j; end; j:=l; while j<=r do begin if ans[j]=0 then begin ans[j]:=i; fa[j]:=get(fa[j+1]); end; j:=get(fa[j]); end; if get(1)=n+1 then break; end; for i:=1 to n do writeln(ans[i]); end.
相关文章推荐
- Java NIO6:选择器2---代码篇
- 安卓日记——利用http上传文件到服务器
- 蔡明介精彩语录(最早达到规模经济最重要,要持续改善,要为客户着想)
- Python网络爬虫(三):连续爬取百度百科词条数据
- 9.1、神经网络实例
- HDU 5624 KK's Reconstruction(暴力 + MST)
- 如何解决weblogic server启动中在IIOP后运行缓慢
- python实现井字棋游戏
- 第十九天
- maven自动部署测试Web应用
- RAD路线规划2016版
- 查看Oracle 数据库中的长事务
- win10输入法切换 只能输入英文
- Android开发中如何实现外部其他Activity类与指定fragment碎片的相互跳转
- XML基础(上)
- 前言
- 个人微信公众号,TEBS,欢迎扫码关注哦~
- leetcode 328 Odd Even Linked List(难易度:Easy)
- codevs 1018 [noip 2000 提高] 单词接龙
- Linux目录结构和常用命令