poj1286

POJ 1286 Necklace of Beads (polya入门) POJ 1286 Necklace of Beads  许愿珠:用红蓝绿三色共n个珠子串成项链,求旋转和翻转后仍不一样的串法种数? 4.1更加复杂的数学问题  计数  虽然是裸的Pólya定理,但属于组合数学的内容,还是少不了自我扫盲。Pólya定理的基础Burnside引理是求解互异的组合状态的个数的方法: 据说该定理的应用比较麻烦, 阅读详情
Necklace of Beads

Description

Beads of red, blue or green colors are connected together into a circular necklace of n beads ( n < 24 ). If the repetitions that are produced by rotation around the center of the circular necklace or reflection to the axis of symmetry are all neglected, how many different forms of the necklace are there? 

Input

The input has several lines, and each line contains the input data n. 
-1 denotes the end of the input file. 

Output

The output should contain the output data: Number of different forms, in each line correspondent to the input data.

Sample Input

4
5
-1

Sample Output

21
39

Source

polya定理。
旋转置换:共有n种置换,每种置换有gcd(i,n)个循环节,其中0<=i<=n。
对称置换:
若n为奇数,共有n种置换,每种置换n/2+1个循环节。
若n为偶数,有两种置换方式,一种是某两个珠子在对称线上,共有2/n种置换,每种置换有2/n+1个循环节。另一种是没有珠子在对称线上,共有2/n种置换,每种置换有n/2个循环节。
代码如下:
#include<stdio.h>
#include<math.h>

int gcd(int a, int b) {
    if (!b)
        return a;
    return gcd(b, a % b);
}

void polya(int n) {
    double sum = 0.0;
    if (n) {
        for (int i = 0; i < n; i++)
            sum += pow(3.0, gcd(i, n));
        if (n % 2)
            for (int i = 0; i < n; i++)
                sum += pow(3.0, n / 2 + 1);
        else
            for (int i = 0; i < n / 2; i++)
                sum += pow(3.0, n / 2) + pow(3.0, n / 2 + 1);
        sum /= 2 * n;
    }
    printf("%.0lf\n", sum);
}

int main(void) {
    int n;
    while (scanf("%d", &n), n + 1) {
        polya(n);
    }
    return 0;
}




Isaac Gym环境安装和四足机器人模型的训练 该方法提出一种训练模式,该模式通过在单个GPU工作站上使用大规模并行的方法来实现现实世界机器人任务的快速控制策略的生成。 阅读详情

相关推荐

anaconda的conda国内加速镜像源(pytorch 快速安装)

最近清华源不太好使了,所以推荐中科大镜像源,如下 1.还原原始通道 conda config --remove-key channels 2.

qq_41719643的博客 2万+

Magic Bracelet-【群论】【Burnside引理】【矩阵快速幂】

那么我们可以枚举第1个点的颜色,输出f[n+1][k]即可,f[n+1][k]完全由f[n][]整体推出,除了去掉与1排斥的条件,都是相同的。由此我们得出第1个点属于第一个循环,第2个点属于第二个循环,直至第n个点属于第n个循环,第n+1个点属于第一个循环。也就是说,前n个点我们就可以确定这n个循环的状态,也就是整个圆的状态,只要我们求出满足题目排斥要求的n个点的排列方案数,那么整个圆也就被确定了。显然可以设f[i][j]为第i个点是j颜色的方案数,那么它由上一个点转移而来,转移方程为。......

jisuanji2606414的博客 842

HFSS求解器背后的数学原理:从麦克斯韦方程到S参数计算

本文深入解析了Ansys HFSS求解器的数学原理,从麦克斯韦方程出发,详细介绍了模式驱动求解(Driven Solution)和本征模求解(Eigenmode)等核心算法。通过有限元方法和模式匹配技术,HFSS将电磁场问题转化为矩阵方程求解,实现S参数计算和场分布分析,为工程师提供精确的电磁仿真工具。

weixin_28314575的博客 466

poj2409 等价类计数问题 polya定理

关于polya定理:n个珠子,t种颜色,手镯的种数: (1)旋转:逆时针旋转i颗珠子的间距,则珠子0,、i、2i、......构成一个循环。这个循环有n/gcd(i,n)个元素。根据对称性,所有循环的长度均相同,因此一共有gcd(i,n)个循环。这些置换的不动点总数为a=t^gcd(i,n) 求和,i从0~n-1。 (2)翻转:需要分两种情况讨论。当n为奇数时,对称轴有n条,每条对称轴形成(n

watermelon的专栏 921

别再傻傻分不清!Synopsys DC综合中link/target/symbol/synthetic四大库的保姆级配置指南

本文详细解析了Synopsys DC综合中link_library、target_library、symbol_library和synthetic_library四大库的配置方法,帮助工程师避免常见错误。通过实战示例和调试技巧,指导如何正确设置工艺库与IP库,提升数字芯片设计效率。

weixin_42562079的博客 423

android+音乐节拍检测,科学网—音乐节拍跟踪或音乐节拍检测软件,LilyBeats alpha - 石自强的博文...

我们设计并实现了一种用于实时跟踪音乐节拍的软件。该软件可以用于智能灯方案提供商,为其提供灯光随音乐变化的核心解决方案。首先给出软件的下载链接:或者音乐节拍是乐曲中表示固定单位时值和强弱规律的组织形式,亦称拍子。它有两个特性:周期性和连续性。节拍周期性表现为节拍结构,是乐曲中周期性出现的节奏序列。节拍连续性表现为音乐的平均速度,其单位为bpm(beat per minute每分钟音乐节拍的个数)。音...

weixin_39571403的博客 1401

POJ 2154 Color

Ploya定理+数论知识... 置换群是由旋转置换构成的,因此|G| = n 基本知识:循环的个数为gcd(i,n),循环的长度为l = n/gcd(i,n)      ans = sigma(n^(gcd(n,i)-1))  1 由于n很大所以需要利用欧拉函数进行优化。。。 枚举的方法有两种: 将n进行质因子分解,然后根据质因子分解枚举它的约数ys,这样答案便为sigma(eule

新的开始... 722

ADI官方例程HDL和No-OS生成Vivado工程

这一步是选择下载源,一般都是选择国内镜像,因为国外的源太慢了,这里选择阿里的镜像,如果没有这个选项可以在下面的User URL里添加就行,选择好源后然后点击下一步。下一步会从你选择的源上下载软件包目录,如果提示Unable to get setup from https://xxxxxx/,返回上一步,选择别的源,例如第二个163网易的源。然后就是你想要安装在哪了,下面的选项好像会决定环境变量存放在哪,不过一般都是个人电脑选择第一个默认的就行,然后点下一步。下好之后双击打开,就是这个界面了,直接点下一步。

代码匠的博客 3832

数论GCD问题整理

Pro1 :Bzoj2705 Longge的问题 Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1&lt;=i &lt;=N)。 Input 一个整数,为N。 Output 一个整数,为所求的答案。 Sample Input 6 Sample Output 15 HINT...

axuhongbo的博客 861

关于esp32蓝牙模块的使用——esp32学习笔记

关于esp32蓝牙模块的使用——esp32学习笔记 零、前言 esp32自带蓝牙模块可以让我们进行蓝牙连接并进行数据交换 一、经典蓝牙BT 首先来编写代码,经典蓝牙的使用非常简单,首先声明使用了BluetoothSerial这个库,然后使用SerialBT.begin函数设置蓝牙的名字,再然后就是设置配对码,由于这里没有用到配对码,所以我将注释掉。当配对成功我们就使用printf函数打印出蓝牙配对成功。 #include <Arduino.h> #include <BluetoothSer

qq_53965184的博客 5万+

如何借助Gemini 3 Pro完成一篇文献精读?(劝收藏)

金句必须是原文的完整句子,并附上该句子在文中的大致位置。你是一名资深科研文献评估专家,请根据我提供的文献信息(标题、作者、期刊、时间、引用、摘要、结论、图表)依次输出:①影响力评估:按期刊、作者、时间、引用、问题重要性给出1–10分及简述;用上述方法再结合Gemini 3 Pro的辅助,原本需要3小时才能读完一篇文献,现在只需50分钟,不管是顶刊论文还是领域内冷门论文,都可以用这套方法,另外七哥设计的高阶精读提示词,需根据自己的文献内容做调整,希望这篇文章的方法能帮你高效精读文献,掌握文献的精华内容。

智能AI让学术科研更容易 1302

POJ--1286[Necklace of Beads] Polya定理

Polya定理: 设G={a1,a2,...,a|G|}是N={1,2,...,N}上的置换群,现用m种颜色对这N个点染色,则不同的染色方案数为 S=(mc1+mc2+...+mc|G|)/|G|   旋转: n个点顺时针(或逆时针)旋转i个位置的置换,轮换个数为gcd

___简言 767

2026华为OD机考双机位C卷++ 双机位B卷 + 双机位A卷 + 2025C/B/A卷+ 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

2025华为OD机考双机位C卷++ 双机位B卷 + 双机位A卷 + 2025C/B/A卷+ 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

算法大师! 5万+

POJ 1286-Necklace of Beads

题目链接 POJ 1286 Necklace of Beads 题解 数据范围,不需要推式子 两种置换,旋转与反转 对于旋转置换,共有n种置换,跨度为k的置换轮换的个数为gcd(k,n) 对与反转置换 ->当n为奇数是有种置换,每种置换包含n/2+1种轮换。 ->当n是偶数时,如果对称轴过珠子,则存在n/2种置换,每种置换包含n/2种轮换 如果对称轴不过珠子,则存在n/2种置...

agtvo48266的专栏 112

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

poj1286(polya计数 套模版)

http://poj.org/problem?id=1286 Necklace of Beads Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5318 Accepted: 2203 Description Beads of red, blue or green colors are connecte

ZhouRush 966

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

POJ-1286 Necklace of Beads polya计数

  题目链接:http://poj.org/problem?id=1286   有旋转和轴对称两种基本置换,先考虑旋转的情况,当旋转 i 个珠子的时候,可以得出循环节有gcd(n,i)个,则和为 Σ 3^gcd(n,i)。轴对称的情况很容易考虑,分n为奇数和偶数就可以了,n为奇数: n*3^((n+1)/2) n为偶数:n/2*(3^(n/2)+3^(n/2+1))。 1 //ST...

weixin_30698527的博客 137

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Polya定理染色问题 (poj 1286)

题目:http://poj.org/problem?id=1286 这个题目感觉是最裸的题目了很简单! 关于polya定理大家可以参考这里,讲的比较详细,我就说了。以下是poj1286的代码: #include #include #include using namespace std; int gcd(int a,int b) { return b==0?a:gcd(b,a%

nyist_jiang 1718

POJ 1286 Necklace of Beads

POJ_1286     今天自习的时候看了一下《程序设计中的组合数学》上的polya计数部分,回来就找一些裸的题实践一下,于是就拿这个题开刀了。     按书上写的对于每种视作相同的情况求每个置换的循环个数,然后用polya定理算一下就可以了。     在求表示旋转的置换的循环的个数时,我直接按定义用n^2的办法求的,后来看别人的解题报告发现可以直接用gcd(i,n)来求,暂时还没想到怎么...

weixin_33717117的博客 76

poj 1286 Necklace of Beads 项链旋转+对称群的polya计数

//poj 1286 //sep9 #include using namespace std; typedef __int64 INT; INT pow3[32]; INT gcd(INT a,INT b) { return a%b==0?b:gcd(b,a%b); } int main() { pow3[0]=1; for(INT i=1;i<24;++i) pow3[i]=pow

sepNINE的专栏 435

poj 1286 poj 2409 hdu 1812 polya定理 组合数学

http://www.cnblogs.com/yongze103/archive/2010/10/05/1842936.html

xiaoyu1_1的专栏 770

poj 1286 Necklace of Beads

http://poj.org/problem?id=1286 polya burnside 难了不会 会了不难 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<map> #include<c...

weixin_30401605的博客 82

POJ 1286 Necklace of Beads (Polya定理)

题目链接: POJ 1286题意:就是求这几种颜色的组合有多少种?旋转和对称的重复的不算。 题解:Polya定理题。主要考虑旋转和对称的情况。旋转:当n=4n = 4时,可顺时针旋转0、1、2、3格 0格:(1)(2)(3)(4)可以互相转化 1格:(1,2,3,4)可以互相转化 2格:(1,3)(2,4)可以互相转化 3格:(1,2,3,4)可以互相转化 所以,ans=(3

LzyRapX 623

poj 1286

polya定理的基础题目。置换群中有两种情况。#include #include #define LL long long using namespace std; const int maxn=30; LL pow[maxn]; int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } int main() { pow[1]=3;

L&J COME!!!! 932
上一篇: poj3518
下一篇: poj1850
lulining
博客等级 码龄15年 8粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值