poj1286 Necklace of Beads—— Polya定理
2024-08-25 02:59:10
题目:http://poj.org/problem?id=1286
真·Polya定理模板题;
写完以后感觉理解更深刻了呢。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
int n;
ll ans;
ll pw(ll a,int b)
{
ll ret=;
for(;b;b>>=,a*=a)
if(b&)ret*=a;
return ret;
}
int gcd(int a,int b){return (a%b==)?b:gcd(b,a%b);}
ll rot(int n)
{
ll ret=;
for(int i=;i<n;i++)
ret+=pw(,gcd(i,n));
return ret;
}
ll d(int n)
{
if(n%)return (ll)n*pw(,(n-)/+);
return (ll)n/*(pw(,n/)+(ll)pw(,(n-)/+));
}
int main()
{
while()
{
scanf("%d",&n);
if(!n)
{
printf("0\n"); continue;//!
}
if(n==-)return ;
ans=(rot(n)+d(n))/(*n);
printf("%lld\n",ans);
}
}
最新文章
- C# Entity Framework并发处理
- Java多线程系列--“JUC锁”06之 Condition条件
- 登陆验证前对用户名和密码加密之后传输数据---base64加密
- MySQL mysqldump数据导出详解 --dump-slave 注意事项
- 初识 .NET平台下作业调度器——Quartz.NET
- mui开发app之cropper裁剪后上传头像的实现
- mysql安装教程以及配置快捷方式
- Maven1-HelloWorld简单入门
- 一篇博客带你入门Flask
- web前端学习python之第一章_基础语法(二)
- canvas意料之外获得降龙十八掌的效果
- c# 对DataTable进行分组group by
- C# 8.0的新的using语法——Using declarations
- 7.16顺便贴一下 pep8的标准
- 0-1背包dp|波动数列|2014年蓝桥杯A组10-fishers
- demo:使用数字证书进行数字签名和加密,解密
- Joint Stacks---hdu5818(栈模拟)
- Error: Couldn&#39;t find preset ";env"; relative to directory ";/Users/user/ethereumjs-vm";
- 雷林鹏分享:Ruby XML, XSLT 和 XPath 教程
- Linux入门第二天——基本命令入门(中)
热门文章
- 树莓派 -- oled
- 基于Vue的简单日历组件
- [学习资料] Tiny210(S5PV210) u-boot移植
- Python之面向对象slots与迭代器协议
- 10 行 Python 代码,批量压缩图片 500 张,简直太强大了
- Django 模版语法 一
- java连接MySQL数据库并读取内容
- HDU 3749 Financial Crisis(点-双连通分量)
- 51nod 1010 只包含因子2 3 5的数 &;&; poj - 1338 Ugly Numbers(打表)
- 51 nod 1007 正整数分组 (简单01背包) &;&; csu 1547: Rectangle