polya
未水
这个作者很懒,什么都没留下…
展开
-
poj 2154 polya 计数
操作时旋转,很简单。 关键在于计数要避免超时。 算sum(N^(gcd(i,N)))/N , 1 d=gcd(i,N),枚举i很慢,转换思维,枚举d,算出这个d对应有多少个i,d的可能取值就是所有 d | N i=d*x,N=d*y, 要让x和y互质,1 互质问题,整除问题最终归结为phi 事实证明long long 很慢,能不用尽量不用 对于直接枚举质因数的话,用l原创 2013-07-13 17:00:17 · 613 阅读 · 0 评论 -
poj 2409 简单polya
两种操作: 1.沿着中心旋转,总共s个,转过i个,循环个数是s*i/lcm(s,i) = gcd(i,s) 2.沿着轴翻转,注意本身在操作中不变的元素会对循环个数有贡献 #include #include #include #include #include #include #include #include #include #include #include #i原创 2013-07-12 18:28:45 · 638 阅读 · 0 评论 -
poj 1286 polya
gcd里的类型一定要long long,至今想不明白,不然会一直WA #include #include #include #include #include using namespace std; #define ll long long ll p[100]; ll gcd(ll a,ll b) { if(b==0) return a; else gcd(b,a%原创 2013-03-22 14:07:03 · 561 阅读 · 0 评论