Uva10294 Arif in Dhaka (置换问题)
2024-09-04 11:57:24
扯回正题,此题需要知道的是置换群的概念,这点在刘汝佳的书中写的比较详细,此处不多做赘述。此处多说一句的是第二种手镯的情况。在下图中“左图顺时针转1个位置”和“右图顺时针旋转5个位置”是相同的,所以在最终结果处需要(ans1+ans2)/2。
可以看刘汝佳白书,来看,这道题,burnside引理和polya定理的经典应用。
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std; int n,m;
ll a[]; int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main()
{
while(~scanf("%d%d",&n,&m))
{
a[]=;
for (int i=;i<=n;i++)
a[i]=a[i-]*m;
ll x=,y=;
for (int i=;i<=n;i++)
x+=a[gcd(i,n)];
if (n%==) y=a[(n+)/]*n;
else y=(a[n/]+a[n/+])*n/;
printf("%lld %lld\n",x/n,(x+y)//n);
}
}
最新文章
- Junit mockito 测试Controller层方法有Pageable异常
- php基础之gd图像生成、缩放、logo水印和简单验证码实现
- UE4.11新特性:胶囊体阴影
- Autodesk 360 Mobile不能显示图片?
- QT 网络编程三(TCP版)
- 使用GnuRadio+OpenLTE+SDR搭建4G LTE基站(上)
- javascript函数中的三个技巧【一】
- ArcMap中的名称冲突问题
- Windows Log4日志发送到ElasticSearch
- ANTLR3完全参考指南读书笔记[04]
- 矩阵的QR分解(三种方法)Python实现
- APUE习题8.7
- Objective-C Runtime 运行时之三:方法与消息
- 一步步学习NHibernate(4)&mdash;&mdash;多对一,一对多,懒加载(1)
- Android Animations动画使用详解
- verilog中的有符号数运算
- zju2676 Network Wars 分数规划+网络流
- boost------signals2的使用2(Boost程序库完全开发指南)读书笔记
- __x__(4)0905第二天__软件架构
- 走近HTTP协议之一 基本网络概念与理解
热门文章
- poj2112Optimal Milking(二分+最大流)
- H5图片预览功能
- webfrom ASP开发基础跟模式
- AJPFX总结面向对象(this和super的区别和应用)
- OpenGL 透视投影推导图解
- 【经验总结】关于使用某些第三方插件库元素设置display:none后重新show不显示的问题;(display、opacity、宽高0的使用场景)
- java.lang.NoSuchMethodError: org.hibernate.cfg.Environment.verifyProperties
- JS正则表达式匹配<;div>;<;style>;标签
- MFC技术积累——基于MFC对话框类的那些事儿5
- H3C S5024P交换机 vlan实验