【BZOJ2054】疯狂的馒头
来源:互联网 发布:java项目打包成jar包 编辑:程序博客网 时间:2024/05/16 00:40
Description
Input
第一行四个正整数N,M,p,q
Output
一共输出N行,第i行表示第i个馒头的最终颜色(如果最终颜色是白色就输出0)。
Sample Input
4 3 2 4
Sample Output
2
2
3
0
2
3
0
HINT
题解
由于染色是按最后一次的算,所以要从后往前处理,由于染完色后具有相同的性质,也就是可以用并查集维护,把一段的父亲设为最右边的就行了。
总结:并查集应用很广,主要是维护性质相同的东西,比如联通块。还有一个应用就是可以找联通块的个数。
/* 并查集 */#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=10001010;int fa[N],a[N];int n,m,p,q,x,y;int find(int x){ if(x==fa[x]) return x; return fa[x]=find(fa[x]);}int main(){ scanf("%d%d%d%d",&n,&m,&p,&q); for(int i=1;i<=n*2;i++) fa[i]=i; for(int i=m;i>=1;i--){ x=((long long)(i*p)+q)%n+1; y=((long long)(i*q)+p)%n+1; if(x>y) swap(x,y); for(int j=find(x);j<=y;j=find(j)) a[j]=i,fa[j]=j+1; } for(int i=1;i<=n;i++) printf("%d\n",a[i]); return 0;}
阅读全文
1 0
- bzoj2054: 疯狂的馒头
- BZOJ2054疯狂的馒头
- 【BZOJ2054】疯狂的馒头
- bzoj2054 疯狂的馒头
- BZOJ2054 疯狂的馒头
- bzoj2054 疯狂的馒头
- 【BZOJ2054】疯狂的馒头
- 【bzoj2054】疯狂的馒头
- 【bzoj2054】 疯狂的馒头 并查集
- 【bzoj2054】【疯狂的馒头】【并查集】
- BZOJ2054 疯狂的馒头 并查集
- [BZOJ2054] 疯狂的馒头/[BZOJ2375] 疯狂的涂色
- 【BZOJ2054】疯狂的馒头(并查集)
- #BZOJ2054#疯狂的馒头(并查集经典)
- 【BZOJ2054】疯狂的馒头【BZOJ2375】疯狂的涂色【并查集】
- 【BZOJ 2054】 疯狂的馒头
- bzoj 2054 疯狂的馒头
- Codevs 2054疯狂的馒头
- 使用commons工具包出现 java.lang.ExceptionInInitializerError
- Mark: Ubuntu搭建OpenGrok阅读源码
- poj2488 A Knight's Journey
- sip alt
- Jackson使い方メモ
- 【BZOJ2054】疯狂的馒头
- 【BZOJ2054】疯狂的馒头(并查集)
- 25.leetCode442:Find All Duplicates in an Array
- Python批量修改Excel文件格式:加粗、颜色交替、渐变背景色填充
- Windows Server 2012 R2 NAP服务器安装与配置02之 NAP的原理与基础安装 2014-02-25 20:45:53 标签:windows server 2012 r2 Win
- Windows Server 2012 R2 NAP服务器安装与配置02之 NAP的原理与基础安装 2014-02-25 20:45:53
- bzoj 1414: [ZJOI2009]对称的正方形
- Windows Server 2012 R2 NAP服务器安装与配置03之 NPS服务器DHCP访问控制配置 2014-02-26 22:39:15 标签:nap windows server 20
- Windows Server 2012 R2 NAP服务器安装与配置04之 NPS应用DHCP相关设置 2014-02-27 21:08:11 标签:nap nap server Windows S