
数学-置换
JeraKrs
本人目前就职于百度商业研发部,有需要内推的朋友简历可发我邮箱 jerakrs@qq.com
展开
-
uva 12103 - Leonardo's Notebook(置换)
题目链接:uva 12103 - Leonardo's Notebook题目大意:给出26个字母的置换,问是否存在一个置换A,使得A2=B解题思路:将给定置换分解成若干个不相干的循环,当循环的长度n为奇数时,可以由两个循环长度为n的循环的乘积得来,也可以由两个循环长度为2n的拆分而来;对于长度n为偶数的,只能由两个循环长度为2n的拆分而来,所以判断是否存在有循环长度为偶数的个数是奇原创 2014-08-13 10:45:24 · 1201 阅读 · 0 评论 -
uva 11774 - Doom's Day(规律)
题目链接:uva 11774 - Doom's Day题目大意:有一个3n∗3m,一开始按照行优先顺序填好1−3n+m的整数,然后每次依照行优先的顺序把所有数取出,按照列优先放回,问多少次操作后,矩阵会合初始状态相同。解题思路:ans=n+mgcd(n,m#include #include #include using namespace std;typedef lo原创 2014-08-14 00:00:11 · 1044 阅读 · 0 评论 -
uva 306 - Cipher(周期)
题目链接:uva 306 - Cipher题目大意:给出n,以及a1 ~ an, 然后给出k,若k不为0的话,会有一个字符串,按照给出的a方式编码k次,输出所得字符串。解题思路:这题和我刚做的一题有点像,uva 10205 - Stack 'em Up,不过那道题是用模拟的方式,这题刚开始用了模拟,结果超时了,后来想到说,因为a1 ~ an为不等的1~n,所以一定存在一个周原创 2013-11-10 16:38:19 · 2233 阅读 · 0 评论 -
uva 716 - Commedia dell' arte(置换)
题目链接:uva 716 - Commedia dell' arte题目大意:给定一个三维的八数码,0表示空的位置,问说是否可以排回有序序列。解题思路:对于n为奇数的情况,考虑三维八数码对应以为状态下去除0的时候逆序对数,偶数的情况下,考虑将0的位置转移到(n,n,n)位置后对应序列的逆序对数。如果逆序对数为偶数即为可以,奇数不可以。#include #include #i原创 2014-08-14 01:08:30 · 1355 阅读 · 0 评论 -
uva 11330 - Andy's Shoes(置换)
题目链接:uva 11330 - Andy's Shoes题目大意:小andy有很多鞋,穿完到处丢,后来他把所有鞋都放回鞋架排成一排,保证了鞋的左右交替,但是颜色混了。问说他至少移动多少次可以将鞋分类好。解题思路:对应奇数位置为左鞋,偶数位置为右鞋,一双鞋只有一只左鞋和一只右鞋,保证不换左变鞋子,以左鞋的位置为基准换右边鞋子,对应右边鞋子的位置即为一个置换,将置换的循环分解为x个互原创 2014-08-14 00:52:58 · 1466 阅读 · 0 评论 -
uva 10601 - Cubes(置换)
题目链接:uva 10601 - Cubes题目大意:有12根等长的小木棍,然后每根木棍,输入每根木棍颜色的编号,你的任务是统计出用它们拼出多少种不同的立方体,旋转之后完全相同的立方体被认定相同。解题思路:polya,然后对应立方体有24种旋转:不旋转(still):1种,循环长度为12以对顶点为轴(rot_point):4组,循环长度为3以对面中心为轴(rot_plane原创 2014-08-13 23:55:42 · 1838 阅读 · 0 评论 -
uva 239 - Tempus et mobilius. Time and motion(置换)
题目连接:uva 239 - Tempus et mobilius. Time and motion题目大意:古代有一个计时器,由n个编号从1~n的球组成,然后有三个轨道,分别对应的是1分钟,5分钟,1小时,例如各个轨道都有一个球的时间为1小时6分钟。计时器的工作原理是每一分钟从球堆里滚出一个球到1分钟的轨道上(球堆是一个队列),特殊情况是1分钟的轨道上有了4个球,再进1个球的话就表示5分原创 2014-08-14 00:43:33 · 1404 阅读 · 0 评论 -
uva 10733 - The Colored Cubes(置换)
题目链接:uva 10733 - The Colored Cubes题目大意:给定n,表示有n种颜色,为立方体上色,相同旋转视为一种。解题思路:参考uva 10601 - Cubes,正方体的旋转都是一样的,只要由考虑边的颜色变成考虑面的颜色。#include #include #include using namespace std;typedef long lon原创 2014-08-14 00:13:47 · 1089 阅读 · 0 评论 -
uva 1016 - Silly Sort(置换+贪心)
题目链接:uva 1016 - Silly Sort题目大意:给定一个长度为n的序列,每次操作可以交换任意两个数的位置,代价为两个数的和,求最小代价,将序列排成有序的。解题思路:给定序列根据数的大小映射成一个置换,分解置换的循环,对于每个循环中,肯定是用值最小的逐个去交换的代价最小,但是要考虑,可以将最小的值与序列中最小值交换,用它代替去交换,最后再换回来。取两种情况中最优的。原创 2014-08-14 01:02:18 · 2189 阅读 · 0 评论 -
uva 11255 - Necklace(置换)
题目链接:uva 11255 - Necklace题目大意:给定3种颜色的珠子个数,要求所有的珠子都用上的情况下有多少种不同的项链,旋转翻转视为同一种。解题思路:等价类的计数,polya。旋转:有0,1,~ n-1步。翻转:考虑n为奇数偶数,奇数下,有n条对称轴(过一点)偶数时,有n/2条过两点,n/2条不过点。#include #include #include原创 2014-08-14 00:58:19 · 1443 阅读 · 0 评论 -
uva 11077 - Find the Permutations(置换)
题目链接:uva 11077 - Find the Permutations题目大意:给定一个1~n的排序,可以通过一系列的交换变成1,2,…,n, 给定n和k,统计有多少个排列至少需要交换k次才能变成有序的序列。解题思路:给定一个序列P,可以将该序列看做是一个置换,从有序序列,开始,需要多少次回到有序序列。将P的循环分解,循环长度为1的需要0次,长度为2的需要1次,循环长度为原创 2014-08-13 11:04:06 · 1100 阅读 · 0 评论 -
uva 1156 - Pixel Shuffle(模拟+置换)
题目链接:uva 1156 - Pixel Shuffle题目大意:给定一个N*N的黑白位图,有7种操作,并且对应在指令后加上‘-’即为操作的逆,给定N和一系列操作,(从最后一个开始执行),问说这一套指令需要执行多少次才能形成循环。解题思路:模拟指令执行后获得一个置换,分解成若干的循环,各个循环长度的最小公倍数即使答案。#include #include #include原创 2014-08-13 11:10:09 · 2352 阅读 · 0 评论 -
uva 10294 - Arif in Dhaka (First Love Part 2)(置换)
题目链接:uva 10294 - Arif in Dhaka (First Love Part 2)题目大意:项链和手镯都是由若珠子穿成的环形首饰,区别在于手镯可以翻转,但是项链不行。给定n和t,表示用t种颜色的n个珠子能制作的项链和手镯的个数。解题思路:等价类计数,一共两种置换,旋转或者翻转。旋转:枚举间距0,1,2,3…,n−1,所以不动点a=∑i=0n−1tgcd(n原创 2014-08-13 10:35:47 · 1347 阅读 · 0 评论 -
Codeforces 484C Strange Sorting(置换)
题目链接:Codeforces 484C Strange Sorting题目大意:给定一个长度为N的字符串,现在有M次询问,每次要从左向右逐个对长度为K的子串进行D-sorting,最后输出生成的串。解题思路:问题即为一个置换的思想,L对应的左移一位的置换,C对应的是D-sorting前K为的置换,每次执行完一次C肯定执行一下L,保证D-sorting的为不同的K长原创 2014-11-09 19:07:24 · 1537 阅读 · 0 评论