- 浏览: 204234 次
- 性别:
- 来自: 武汉
-
文章分类
- 全部博客 (137)
- c++ (74)
- c++,算法,回溯 (2)
- DP问题。 (9)
- DP问题,0/1背包问题 (3)
- 数学问题 (6)
- 贪心算法 (10)
- 排序 (16)
- 数据结构 (7)
- 容器 (2)
- 模拟问题 (2)
- 水题 (8)
- 并查集 (3)
- 非技术 (2)
- 素数问题 (1)
- DFS (3)
- 二叉树 (1)
- 递归 (1)
- 图论 (5)
- 最小生成树 (5)
- 最短路径 (6)
- bell_flaod算法 (2)
- hash (3)
- 二分查找 (1)
- 搜索 (5)
- BFS (5)
- STL (3)
- 字符串hash (1)
- 拓扑排序 (1)
- 字典树 (4)
- 哈弗曼树 (1)
- KMP (7)
- 线段树 (9)
- 树状数组 (6)
- 全排列 (2)
- DP问题 (2)
- LCS (1)
- 最长不下降子序列 (2)
- 面试经验 (3)
题意:一串由n个珠子组成的项链,用c种颜色涂染,问能形成多少种不同项链。
限制:旋转得来的为同一种,翻转得来的也为同一种。 运用polya定理解题。 Polya定理 设有n个对象,G是这n个对象上的置换群,用m种颜色涂染这n个对象,每个对象涂染一种颜色,问有多少种染色方案?一种染色方案在群G的作用下变为另一种方案,则这两种方案当作是一种方案。
针对本题分两种情况讨论: (1)这种是经过某个顶点i与中心的连线为轴的翻转,由于n为偶数,有对称性,所以此种共n/2种翻转: (2)这种是以顶点i和i+1的连线的中点与中心的连线为轴的翻转,同样,根据对称性,也有n/2种翻转: 所以给定长度n,共有2n种置换。 代码如下:
旋转:
n种旋转方法每种旋转i个格(1<=i<=n)循环结有gcd(i,n)个
翻转:#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int gcd(int s,int t){
if(t==0) return s;
return gcd(t,s%t);
}
int m,n;
void read(){
// ifstream cin("in.txt");
int i,j,k;
long ans;
while(1){
cin>>m>>n;
if(n==0&&m==0)
return;
ans=0;
for(i=0;i<n;i++)
ans+=pow(1.*m,gcd(n,i));
if(n%2==0)
ans+=n/2*pow(1.*m,n/2)+n/2*pow(1.*m,n/2+1);
else
ans+=n*pow(1.*m,n/2+1);
cout<<ans/n/2<<endl;
}
}
int main(){
read();
return 0;
}
发表评论
-
虚函数、纯虚函数、虚基类、抽象类、虚函数继承、虚继承
2013-08-29 14:34 856虚函数:虚函数是C++中用于实现多态(polymorphis ... -
排序算法总结
2013-05-17 11:00 855选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, ... -
poj 3122
2012-12-11 19:51 886题意:作者要开一个生日party,他现在拥有n块高度都为1 ... -
poj 3273
2012-12-11 16:49 999题意:给你天数n,和每天需要花的钱,让你把这些天分成m份(每份 ... -
字典树学习材料
2012-05-30 14:29 983字典树,又称单词查找树,Trie树,是一种树形结构,典型应 ... -
poj 1159
2012-05-28 19:08 1465题目大意:给你一段字符串,让你求出在中间最少加入几个字符 ... -
poj 3176
2012-05-28 14:47 1043大致题意: 输入一个n层的三角形,第i层有i个数,求从第 ... -
poj 1260
2012-05-28 09:54 1630题意解释: 有n个等级的珠宝,等级依次升高,等级越高价钱越高 ... -
poj 1836
2012-05-28 09:22 2731是POJ2533的扩展题。题意不难,令到原队列 ... -
poj 2533
2012-05-26 15:36 1290在做这道题目之前,首先让我们了解一下什么是LIS算法,LIS俗 ... -
poj 3267
2012-05-26 09:43 817从程序可以看出,第i个位置到L所删除的字符数,总是先取最坏情况 ... -
poj 1276
2012-05-25 16:20 2422题意: 这道题的意思是给你一堆钱,各种面值的都有,比 ... -
poj 1094
2012-05-25 13:54 1125题意:给出字母个数,和有限个有序对(a<b)求出能确定字 ... -
poj 3393
2012-05-23 17:00 1271大致题意: 科普文一篇,文章80%都是无用信息,因为 ... -
poj 3007
2012-05-14 10:21 1003大致题意: 给定一个字符串,从任意位置把它切为两半, ... -
poj 3096
2012-05-10 21:09 1033题意: 定义D-pairs表示取字符串s中相距为D的两个字母 ... -
poj 1426
2012-04-26 20:11 2181大致题意: 给出一个整数n,(1 <= n <= ... -
poj 1797
2012-04-24 15:05 1636题目大意是就是何处一个图,n个顶点和m条边,每个边都有最大承载 ... -
poj 1338
2012-04-23 10:20 1272题意:题目意思是求由2,3,5的乘积组成的数从大到小排列,从1 ... -
poj 2021
2012-04-19 15:00 966题意:Ted今年100岁,给出n对他家族的关系:“父 ...
相关推荐
如poj3278、poj2049、poj3083是图遍历的例子,poj1860、poj3259等则是最短路径问题,poj1789、poj2485等则涉及最小生成树。 3. **数据结构**:包括串、排序、简单并查集、哈希表、二分查找、哈夫曼树和堆。poj1035、...
- **1129** 和 **2049** 可以帮助进一步加深对搜索的理解。 - **2056** 和 **2488** 这两个题目则提供了不同的挑战,特别是 **2492** 还提供了一个使用并查集的替代方案,这对于想要拓宽思路的学习者来说非常有用。 ...
推荐题目如1011、1033、1129、2049、2056、2488、2492等,其中2492可以考虑使用并查集解决。 3. **贪心**(Greedy) 贪心算法在每一步选择局部最优解,期望达到全局最优。推荐题目有1065、2054、1521、2709等,...
2. **搜索算法**:包括深度优先搜索(DFS)和广度优先搜索(BFS),如1011、1033、1129、2049和2056等,其中2488和2492难度较高,可以挑战。 3. **贪心算法**:贪心策略是在每一步选择中都采取当前状态下最好或最优...
- **POJ 1069、3322、1475、1924、2049、3426**等题目,这些题目可能是关于广度优先搜索(BFS)的应用,旨在训练学生对于基础搜索算法的理解和应用能力。 #### 2. 训练状态搜索: M洢״̬תΪhashءλѹ洢״̬텔ѡA*...