【uva 10294】 Arif in Dhaka (First Love Part 2) (置换,burnside引理|polya定理)

题目来源:UVa 10294 Arif in Dhaka (First Love Part 2)

题意:n颗珠子t种颜色 求有多少种项链和手镯 项链不可以翻转 手镯可以翻转

 

 

  【分析】

  要开始学置换了。

  置换是什么呢? 

置换的广义概念在不同语境下有不同的形式定义:

集合论中,一个 集合的置换是从该集合映至自身的 双射;在有限集的情况,便与上述定义一致。
组合数学中,置换一词的传统意义是一个有序序列,其中元素不重复,但可能有阙漏。例如 1,2,4,3可以称为 1,2,3,4,5,6的一个置换,但是其中不含 5,6。此时通常会标明为“从n个对象取r个对象的置换”。
 
 
   置换的乘法:
  f={1,3,2} g={2,1,3} f*g={2,3,1}
  计算过程是 1->1->2, 2->3->3 , 3->2->1 。
  
   置换的循环移位  (1 4 3)表示1->4, 4->3, 3->1。
  比如 (1 2 3 4 5)
            (3 5 1 4 2) =(1 3)(2 5)(4)
  循环节为3.
 
   等价类计数问题
  题目定义一种等价关系,满足等价关系的元素被看成是同一类,只统计一次。等价关系满足 自反性、对称性、传递性。
   
  burnside引理
  对于一个置换f,若一个着色方案s经过置换后不变,称s为f的不动点。(即循环里面只有一个元素)
  将f的不动点数目记为C(f),则可以证明等价类数目为所有C(f)的平均值。
 
  这题用到burnside引理或polya定理。(polya定理可以用burnside引理证明)
 
  本题:
  旋转:
    如果逆时针旋转i颗珠子的间距,那么珠子0,i,2*i...构成一个循环。这个循环有n/gcd(i,n)个元素,根据对称性,所有循环长度均相同,因此一共有gcd(i,n)个循环。这些置换的不动点总数为a=sigma(t^gcd(i,n))。
 
  翻转:
    分两种情况讨论。当n为奇数时,对称轴有n条,。。。。不动点总数为$n*t$^$\dfrac{n+1}{2}$
    当n为偶数是时,有两种对称轴,一共n条,。。。。不动点总数为$\dfrac{n}{2}*(t$^$(\dfrac{n}{2}+1)+t$^$\dfrac{n}{2})$
 
  加起来求均值即可。
 
 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<cstring>
 4 #include<iostream>
 5 #include<algorithm>
 6 #include<cmath>
 7 using namespace std;
 8 #define Maxn 60
 9 #define LL long long
10 
11 LL pw[110];
12 
13 int gcd(int a,int b)
14 {
15     if(b==0) return a;
16     return gcd(b,a%b);
17 }
18 
19 int main()
20 {
21     int n,t;
22     while(scanf("%d%d",&n,&t)!=EOF)
23     {
24         pw[0]=1;
25         for(int i=1;i<=n;i++) pw[i]=pw[i-1]*t;
26         LL a=0;
27         for(int i=0;i<n;i++) a+=pw[gcd(i,n)];
28         LL b=0;
29         if(n%2==1) b=n*pw[(n+1)/2];
30         else b=n/2*(pw[n/2+1]+pw[n/2]);
31         printf("%lld %lld\n",a/n,(a+b)/2/n);
32     }
33     return 0;
34 }
View Code

 

  其实觉得这题的数据范围过不了啊,不是10^50了么????

  为什么大家都这样打??

 

2017-01-11 11:18:14

转载于:https://www.cnblogs.com/Konjakmoyu/p/6272826.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的影城管理系统,源码+数据库+论文答辩+毕业论文+视频演示 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多生活之中,随之就产生了“小徐影城管理系统”,这样就让小徐影城管理系统更加方便简单。 对于本小徐影城管理系统的设计来说,系统开发主要是采用java语言技术,在整个系统的设计中应用MySQL数据库来完成数据存储,具体根据小徐影城管理系统的现状来进行开发的,具体根据现实的需求来实现小徐影城管理系统网络化的管理,各类信息有序地进行存储,进入小徐影城管理系统页面之后,方可开始操作主控界面,主要功能包括管理员:首页、个人中心、用户管理、电影类型管理、放映厅管理、电影信息管理、购票统计管理、系统管理、订单管理,用户前台;首页、电影信息、电影资讯、个人中心、后台管理、在线客服等功能。 本论文主要讲述了小徐影城管理系统开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的小徐影城管理系统状况,提高管理效率。 关键词:小徐影城管理系统;Spring Boot框架,MySQL数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值