UVa:10294 Arif in Dhaka (First Love Part 2)
2014-03-19 13:11
357 查看
Polya定理。
先用一个置换的循环节数得到不动点数,由于这个题里面的置换都相同,可以得到全部置换的不动点数和,最后除以所有置换个数。
计算置换的循环节有多种办法,可以用数学推导也可以模拟计算。
题目中有提示是不会溢出的。
先用一个置换的循环节数得到不动点数,由于这个题里面的置换都相同,可以得到全部置换的不动点数和,最后除以所有置换个数。
计算置换的循环节有多种办法,可以用数学推导也可以模拟计算。
题目中有提示是不会溢出的。
#include <iostream> #include <cstdio> #include <cstring> #include <string> //#include <cmath> #include <vector> #include <queue> #include <map> #include <algorithm> #define ll long long #define INF 2139062143 #define MOD 20071027 #define MAXN 1000 using namespace std; ll pow[MAXN]; ll gcd(ll a,ll b) { return !b?a:gcd(b,a%b); } int main() { int n,t; pow[0]=1; while(scanf("%d%d",&n,&t)!=EOF) { for(int i=1; i<=n; ++i) pow[i]=pow[i-1]*t; ll a=0,b=0; for(int i=0; i<n; ++i) a+=pow[gcd(i,n)]; if(n%2) b=n*pow[(n+1)/2]; else b=(n/2)*(pow[n/2+1]+pow[n/2]); printf("%lld %lld\n",a/n,(a+b)/2/n); } return 0; }
相关文章推荐
- UVa 10294 Arif in Dhaka (First Love Part 2)(置换)
- UVA - 10294 Arif in Dhaka (First Love Part 2) (置换群-polya定理- 数学推导循环节)
- 【UVa 10294】Arif in Dhaka(First Love Part 2) (群论、Polya定理)
- UVA 10294 Arif in Dhaka (First Love Part 2) Polya计数
- 等价类计数(Arif in Dhaka (First Love Part 2),UVA 10294)
- uva 10294 Arif in Dhaka (First Love Part 2)
- uva 10294 - Arif in Dhaka (First Love Part 2)(置换)
- UVA - 10294 Arif in Dhaka (First Love Part 2) (Polya定理)
- UVA Arif in Dhaka (First Love Part 2) 10294 (polya定理)
- Uva 10294 Arif in Dhaka (First Love Part 2)
- UVa10294 - Arif in Dhaka (First Love Part 2)
- Arif in Dhaka (First Love Part 2) [Uva 10294]
- uva10294 Arif in Dhaka (First Love Part 2)
- Uva 10294 Arif in Dhaka (First Love Part 2)
- uva 10294 - Arif in Dhaka (First Love Part 2) Polya定理
- UVA 10294 Arif in Dhaka (First Love Part 2) polya定理
- UVa 10294 (Pólya计数) Arif in Dhaka (First Love Part 2)
- UVa 10294 Arif in Dhaka (First Love Part 2) Polya定理
- UVa 10294 Arif in Dhaka (First Love Part 2) (Polya定理)
- Arif in Dhaka (First Love Part 2) UVA - 10294