题目链接:uva 12103 - Leonardo's Notebook
题目大意:给出26个字母的置换,问是否存在一个置换A,使得A2=B
解题思路:将给定置换分解成若干个不相干的循环,当循环的长度n为奇数时,可以由两个循环长度为n的循环的乘积得来,也可以由两个循环长度为2n的拆分而来;对于长度n为偶数的,只能由两个循环长度为2n的拆分而来,所以判断是否存在有循环长度为偶数的个数是奇...
分类:
其他好文 时间:
2014-08-13 13:13:56
阅读次数:
231
In previous post?Let‘s do our own full blown HTTP server with Netty 4?you and I were excited by creation of our own web server.?So far so good. But how good?? Given ordinary notebook? cat?/pr...
分类:
其他好文 时间:
2014-08-12 19:13:14
阅读次数:
300
这道题的问题就是说能否对一个给定的置换进行开方运算
关于这个问题讲的最为详细的是05年集训队论文
潘震皓:《置换群快速幂运算研究与探讨》
对于一个长度为l的轮换,若gcd(l,k)==1,则可以开k方
若gcd(l,k)!=1则对于单个循环是不能开k方的
而若有m个长度为l的轮换,只需要保证gcd(m*l,k)==m就可以
因为开k方是k次方的逆运算,只要保证目标轮换的k次方会分裂...
分类:
其他好文 时间:
2014-08-12 00:47:13
阅读次数:
212
了解硬件的方法:Hardinfo (设备管理图形界面工具 )or lshw(设备浏览文本界面工具) 安装hardinfo ?$ sudo apt-get install hardinfo or 运行lshw后,下面是我的电脑硬件设备信息: hui-compaq-cq45-notebook-p...
分类:
其他好文 时间:
2014-07-29 16:19:39
阅读次数:
453
UVA 12103 - Leonardo's Notebook
题目链接
题意:给定一个字母置换B,求是否存在A使得A^2=B
思路:任意一个长为 L 的置换的k次幂,会把自己分裂成gcd(L,k) 分, 并且每一份的长度都为 L / gcd(l,k),因此平方对于奇数长度不变,偶数则会分裂成两份长度相同的循环,因此如果B中偶数长度的循环个数不为偶数必然不存在A了
代码:
...
分类:
其他好文 时间:
2014-07-18 15:12:10
阅读次数:
300
http://poj.org/problem?id=3128
大致题意:输入一串含26个大写字母的字符串,可以把它看做一个置换,判断这个置换是否是某个置换的平方。
思路:详解可参考置换群快速幂运算
研究与探讨。
可以先正着考虑一个置换的平方出现什么情况。对于置换中的循环,若其长度为偶数,平方以后一定分成了两个长度相等的循环,若长度是奇数,平方以后仍是一个循环,长度不变。因...
分类:
其他好文 时间:
2014-06-17 23:13:25
阅读次数:
291
perspective projectiontitle: perspective projection
tags: ["openGL", "Markdown", "mathjax"] notebook: notes -->
关于投影变换NDC我们先介绍一个概念,NDC(Normalized Devi...
分类:
其他好文 时间:
2014-05-10 07:16:39
阅读次数:
404