首页 > 其他 > 详细

hdu 3461 Code Lock

时间:2014-05-19 14:01:47      阅读:342      评论:0      收藏:0      [点我收藏+]

http://acm.hdu.edu.cn/showproblem.php?pid=3461

并差集和幂取模

这道题主要是求不可操作区间。

bubuko.com,布布扣
 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #include <iostream>
 5 #define maxn 10000010
 6 #define ll long long
 7 using namespace std;
 8 const int mod=1000000007;
 9 
10 int f[maxn];
11 int n,m;
12 int cnt=0;
13 
14 void inti()
15 {
16     for(int i=0; i<=n+1; i++)
17     {
18         f[i]=i;
19     }
20 }
21 
22 int find1(int x)
23 {
24     if(x==f[x]) return x;
25     return f[x]=find1(f[x]);
26 }
27 
28 void merge1(int a,int b)
29 {
30     int fa=find1(a);
31     int fb=find1(b);
32     if(fa!=fb)
33     {
34         f[fb]=fa;
35         cnt++;
36     }
37 }
38 
39 ll pow_mod(ll a,ll n)
40 {
41     if(n==0) return 1;
42     if(n==1) return a;
43     ll x=pow_mod(a,n/2);
44     ll ans=(ll)x*x%mod;
45     if(n%2==1) ans=ans*a%mod;
46     return ans;
47 }
48 
49 int main()
50 {
51     while(scanf("%d%d",&n,&m)!=EOF)
52     {
53         inti();
54         cnt=0;
55         for(int i=0; i<m; i++)
56         {
57             int l,r;
58             scanf("%d%d",&l,&r);
59             merge1(l,r+1);
60         }
61         cout<<pow_mod(26,n-cnt)<<endl;
62     }
63     return 0;
64 }
View Code

 

hdu 3461 Code Lock,布布扣,bubuko.com

hdu 3461 Code Lock

原文:http://www.cnblogs.com/fanminghui/p/3735323.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!