Uva 10294 Arif in Dhaka (First Love Part 2)
Description
现有一颗含\(N\)个珠子的项链,每个珠子有\(t\)种不同的染色。现求在旋转置换下有多少种本质不同的项链,在旋转和翻转置换下有多少种本质不同的项链。\(N < 51,t < 11\)
Input
The input file contains several lines of input. Each line contains two positive integers \(N (0 < N < 51)\) and \(t (0 < t < 11)\) as described in the problem statement. Also note that within this input range inputs will be such that no final result will exceed 11 digits. Input is terminated by end of file.
Output
对于每组数据,输出一行。每行两个数\(NN,NB\),分别表示在旋转置换,旋转和翻转置换下本质不同的项链数目。
Sample Input
5 2
5 3
5 4
5 5
Sample Output
8 8
51 39
208 136
629 377
伯恩赛德引理裸题。考虑每种置换下的不动点数即可。
旋转:写写应该知道一个轮换内的珠子应该涂相同的颜色,假设旋转\(i\)位,共有\(gcd(i,N)\)个轮换,所以有\(t^{gcd(i,N)}\)个不动点。
翻转:假设翻转后再旋转\(i\)位,画画也能看到轮换个数为\(\lceil \frac{i}{2} \rceil + \lceil \frac{N-i}{2} \rceil\),所以不动点个数位\(t^{\lceil \frac{i}{2} \rceil + \lceil \frac{N-i}{2} \rceil}\)。
于是就愉快的做完了。
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef long long ll;
int N,T;ll ans;
inline int gcd(int a,int b) { if (!b) return a; return gcd(b,a%b); }
inline ll qsm(ll a,int b)
{
ll ret = 1;
for (;b;b >>= 1,a = a*a) if (b & 1) ret *= a;
return ret;
}
int main()
{
freopen("10294.in","r",stdin);
freopen("10294.out","w",stdout);
while (scanf("%d %d",&N,&T) != EOF)
{
ans = 0;
for (int i = 0;i < N;++i) ans += qsm(T,gcd(i,N));
printf("%lld ",ans / (ll)N);
for (int i = 0;i < N;++i) ans += qsm(T,((i+1)>>1)+((N-i+1)>>1));
printf("%lld\n",ans / (ll)(N<<1));
}
fclose(stdin); fclose(stdout);
return 0;
}
Uva 10294 Arif in Dhaka (First Love Part 2)的更多相关文章
- UVa 10294 Arif in Dhaka (First Love Part 2)(置换)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35397 [思路] Polya定理. 旋转:循环节为gcd(i,n) ...
- UVa 10294 Arif in Dhaka (First Love Part 2) (Polya定理)
题意:给定 n 和 m 表示要制作一个项链和手镯,项链和手镯的区别就是手镯旋转和翻转都是相同的,而项链旋转都是相同的,而翻转是不同的,问你使用 n 个珠子和 m 种颜色可以制作多少种项链和手镯. 析: ...
- 【uva 10294】 Arif in Dhaka (First Love Part 2) (置换,burnside引理|polya定理)
题目来源:UVa 10294 Arif in Dhaka (First Love Part 2) 题意:n颗珠子t种颜色 求有多少种项链和手镯 项链不可以翻转 手镯可以翻转 [分析] 要开始学置换了. ...
- [Uva10294]Arif in Dhaka
[Uva10294]Arif in Dhaka 标签: 置换 Burnside引理 题目链接 题意 有很多个珠子穿成环形首饰,手镯可以翻转和旋转,项链只能旋转.(翻转过的手镯相同,而项链不同) 有n个 ...
- UVa 10294(polya 翻转与旋转)
Arif in Dhaka(First Love Part 2) Input: standard input Output: standard output Time Limit: 2 seconds ...
- UVA 10294 项链与手镯 (置换)
Burnside引理:对于一个置换\(f\), 若一个着色方案\(s\)经过置换后不变,称\(s\)为\(f\)的不动点.将\(f\)的不动点数目记为\(C(f)\), 则可以证明等价类数目为\(C( ...
- UVa 10294 (Pólya计数) Arif in Dhaka (First Love Part 2)
Burnside定理:若一个着色方案s经过置换f后不变,称s为f的不动点,将置换f的不动点的数目记作C(f).等价类的数目等于所有C(f)的平均值. 一个项链,一个手镯,区别在于一个能翻转一个不能,用 ...
- Arif in Dhaka (First Love Part 2) UVA - 10294(Polya定理)
这题和POJ-1286一样 题意: 给出t种颜色的n颗珠子 (每种颜色的珠子个数无限制,但总数必须是n), 求能制作出项链和手镯的个数 注意手镯可以翻转和旋转 而 项练只能旋转 解析: 注意Poly ...
- UVA10294 Arif in Dhaka (群论,Polya定理)
UVA10294 Arif in Dhaka (群论,Polya定理) 题意 : 给你一个长为\(n\)的项链和手镯,每个珠子有\(m\)种颜色. 两个手镯定义为相同,即它们通过翻转和旋转得到一样的手 ...
随机推荐
- Servlet中的转发
public class OneServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServ ...
- iOS之AlertController的使用
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController 在实现视图控制器间的过渡动画效果和自适应设备尺 ...
- iOS之获取当前时间日期并按固定格式显示
写一个常用的获取当前日期,时间的代码.并且能以规定的格式显示出来 1 2 3 4 5 NSDate *currentDate = [NSDate date];//获取当前时间,日期 NSDateFor ...
- ionic 手机端如何嵌入视频iframe
需求说明:后台提供功能,可以通过富文本编辑器[summernote]上传优酷的视频链接地址(这里需要注意:优酷视频提供多种操作方式 下面截图说明,先做个标记): 客户端是通过ionic开发的:而上传的 ...
- 结合Retrofit,RxJava,Okhttp,FastJson的网络框架RRO
Retrofit以其灵活的调用形式, 强大的扩展性著称. 随着RxAndroid的推出, Retrofit这样的可插拔式的网络框架因其可以灵活兼容各种数据解析器, 回调形式(主要还是RxJava啦)而 ...
- 第二篇:gradle脚本运行环境分析(gradle的语义模型)
引言:通过上一篇的论述,我们知道gradle脚本是如假包换的groovy代码,但是这个groovy代码是运行在他的上下文环境里面的,学名叫语义模型.这一篇我们就来看看他的语义模型到底是什么,如何使用. ...
- 命令精解之DOS批处理
前言 最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古语云:“授人以鱼,不如授人以渔.”因为网上 ...
- c编程:提示用户输入一个0—9的数字进行猜测电脑产生的随机数。一共有三次机会。
// // main.c // 使用c语言进行编程: 题目:由电脑生成一个由0-9之间的随机数,提示用户也输入一个数字进行猜测.当猜测三次仍不中的时候结束程序. 编译环境:Xcode6.3 特别介 ...
- Javascript 迭代法实现数组多条件排序
多条件排序可能有很多种思路,效率也各不相同,我的方法可能只适合自己用,毕竟目的是为了实现功能,所以采用了最笨的方法,不过效果还是很理想的,经过多次测试,6列1000行数据,平均排序时间大约是:28ms ...
- OpenJudge 1806:词典find()与end()
1806:词典 总时间限制: 3000ms 内存限制: 65536kB 描述 你旅游到了一个国外的城市.那里的人们说的外国语言你不能理解.不过幸运的是,你有一本词典可以帮助你. 输入 首先输入一 ...