hdu 3461 Code Lock
http://acm.hdu.edu.cn/showproblem.php?pid=3461
并差集和幂取模
这道题主要是求不可操作区间。
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#define maxn 10000010
#define ll long long
using namespace std;
const int mod=; int f[maxn];
int n,m;
int cnt=; void inti()
{
for(int i=; i<=n+; i++)
{
f[i]=i;
}
} int find1(int x)
{
if(x==f[x]) return x;
return f[x]=find1(f[x]);
} void merge1(int a,int b)
{
int fa=find1(a);
int fb=find1(b);
if(fa!=fb)
{
f[fb]=fa;
cnt++;
}
} ll pow_mod(ll a,ll n)
{
if(n==) return ;
if(n==) return a;
ll x=pow_mod(a,n/);
ll ans=(ll)x*x%mod;
if(n%==) ans=ans*a%mod;
return ans;
} int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
inti();
cnt=;
for(int i=; i<m; i++)
{
int l,r;
scanf("%d%d",&l,&r);
merge1(l,r+);
}
cout<<pow_mod(,n-cnt)<<endl;
}
return ;
}
hdu 3461 Code Lock的更多相关文章
- HDU 3461 Code Lock(并查集+二分求幂)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3461 A lock you use has a code system to be opened in ...
 - HDU 3461 Code Lock(并查集)
		
很好的一个题,思想特别6 题意:给你小写字母个数n,每个字母可以向上翻动,例如:d->c,a->z.然后给你m对数(L,R)(L<=R),表示[L,R]之间可以同时向上翻动,且翻动后 ...
 - HDU 3461 Code Lock(并查集,合并区间,思路太难想了啊)
		
完全没思路,题目也没看懂,直接参考大牛们的解法. http://www.myexception.cn/program/723825.html 题意是说有N个字母组成的密码锁,如[wersdfj],每一 ...
 - hdu 3461 Code Lock(并查集)2010 ACM-ICPC Multi-University Training Contest(3)
		
想不到这还可以用并查集解,不过后来证明确实可以…… 题意也有些难理解—— 给你一个锁,这个所由n个字母组成,然后这个锁有m个区间,每次可以对一个区间进行操作,并且区间中的所有字母要同时操作.每次操作可 ...
 - HDU 3461 Code Lock(并查集的应用+高速幂)
		
* 65536kb,仅仅能开到1.76*10^7大小的数组. 而题目的N取到了10^7.我開始做的时候没注意,用了按秩合并,uset+rank达到了2*10^7所以MLE,所以貌似不能用按秩合并. 事 ...
 - hdu 3461   Code Lock   并查集(有点难想到)★★
		
#include<stdio.h> #include<math.h> ]; int count; #define mod 1000000007 int find(int x) ...
 - HDU 3461 思维+并查集
		
Code Lock 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3461 Problem Description A lock you use has ...
 - Code Lock[HDU3461]
		
Code LockTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Subm ...
 - Code Lock
		
Code Lock Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Su ...
 
随机推荐
- 自制单片机之九……写给对制做并口ISP下载线有疑惑的朋友
			
一.器件的选用 制做并口ISP下载在网上有很多的电路和对应的PC端下载软件.很多人疑惑,不知该用哪张图,用哪个下载软件.我看了一下,采用的器件主要是74HC373.74HC541和74HC244.其实 ...
 - inux xsel 拷贝复制命令行输出放在系统剪贴板上
			
转载自:http://oldratlee.com/post/2012-12-23/command-output-to-clip 为什么要这么做?直接把命令的输出(比如 grep/awk/sed/fin ...
 - 【转】FAE及其发展前景
			
原文网址:http://blog.sina.com.cn/s/blog_6e80c27b0100okd9.html FAE Field Application Engineer(现场应用工程师) ,其 ...
 - hdu1540-Tunnel Warfare       (线段树区间合并)
			
题意:n个村庄,有三种操作,D x 破坏位置为x的村庄,R 修复上一次被破坏的村庄,Q x 输出含有x村庄的连续村庄的最大个数.线段树搞之,区间合并. ls[maxn]为当前节点左面的连续区间,rs[ ...
 - POJ2367 Genealogical tree (拓扑排序)
			
裸拓扑排序. 拓扑排序 用一个队列实现,先把入度为0的点放入队列.然后考虑不断在图中删除队列中的点,每次删除一个点会产生一些新的入度为0的点.把这些点插入队列. 注意:有向无环图 g[] : g[i] ...
 - editplus配置详:
			
1:设置删除整行快捷键 2:设置背景颜色 3:php 开发环境 在 http://download.csdn.net/detail/vspeter/6002287 下载 editplus 的php语法 ...
 - eclipse java 配置
			
1.eclipse菜单 - Window - Preferences- Java - Installed JREs 2.eclipse菜单 - Window - Preferences- Java - ...
 - gzcompress, gzencode, gzdeflate三个压缩函数的对比
			
PHP的自带的函数中,有三个压缩相关的函数:gzcompress.gzencode.gzdeflate,下面我们通过一段程序,来比较一下这三个函数的压缩比.代码:$string = "8ae ...
 - 浅谈管道模型(Pipeline)
			
本篇和大家谈谈一种通用的设计与处理模型--Pipeline(管道). Pipeline简单介绍 Pipeline模型最早被使用在Unix操作系统中.据称,假设说Unix是计算机文明中最伟大的发明,那么 ...
 - ajax(ajax开发)
			
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和 ...