摘要:
这是我的第一道polya噢~~~~昨天看了一遍简单群论,又看了一点burnside和polya,今天把昨天看的又复习了一遍,就开了一道题开始做大意:给你一个有s个珠子的手镯,再给你c种颜色,让你给手镯染色,问能染出多少种不同颜色的手镯。先开始就想到了旋转的情况,没有想到还有翻转的情况,因为我的书上没有讲翻转的情况。后来跟队友讨论了一下,原来还有两串珠子本来一样,但是旋转不能重合的情况!!所以还要算旋转的情况旋转的情况:对每一个s,有s种旋转方法,i表示转几个珠子,那么循环的个数为gcd(s,i)至于为什么有这个结论,我现在还没想清楚……翻转的情况:当s是偶数时,分按边翻转和按点翻转 按边:有n 阅读全文
posted @ 2011-08-22 19:35
ω 提拉米兔 ℃
阅读(356)
评论(0)
推荐(0)
摘要:
昨天用的那个模版搞不了这个题……只能随用随算了预处理还是每一次都把阶乘和逆求出来这次求逆用的是欧拉定理,査了信数书才发现的,原来求逆可以不用欧几里德呀!这次尝试用了一下TC模版,挺有意思的……以后就这么上好了还有就是乘法的时候注意要强制类型转换,否则会溢出2011-08-21 10:18:28Accepted30371250MS708K1437 BG++Tiramitu#include <cstdio>#include <cstring>#include <cstdlib>#include <cctype>#include <cmath&g 阅读全文
posted @ 2011-08-21 10:26
ω 提拉米兔 ℃
阅读(435)
评论(0)
推荐(0)
摘要:
自己敲的lucas定理MLE了……把官方题解和官方解题报告贴过来当模版好了……显然第 n 行第 k 列的数就是组合数 C(n,k) ,答案满足对称性。只需要讨论 k <=n / 2 的情况。考虑从目的地往上走到顶点,因为组合数在 k <= n / 2 是递增的,所以每次只要斜向上走,到了最左端,再往上走就可以得到最小的和,所以最小的和为C(n,k)+C(n-1,k-1)+C(n-2,k-2)+......+C(n-k,0)+n-k;下面就是求这个数的问题。用 C(n-k+1,0)替换掉 C(n-k,0)后,得到:C(n-k+1,0)+C(n-k+1,1)+C(n-k+2,2)+.. 阅读全文
posted @ 2011-08-20 23:46
ω 提拉米兔 ℃
阅读(830)
评论(2)
推荐(0)
摘要:
这个题快把我搞吐了……有很多细节没有注意……1.题目给的坐标不是我们平时用的向下增长的2.处理字符的时候忘记用字符串读入3.没有注意只要发现一组crash,就打出来,以后的不用管了4.在敲程序的时候只要发现了一组crash,就直接从这组测试数据里面跳出来,没有注意后面还要读入数据,以免影响下一组测试数据5.在机器人开始动以后不管它是否发生crash,都要把它原来的位置置零6.在机器人没有发生crash的时候,就要把它的新位置在map上标明7.先开始处理边界的时候居然写成<0了,晕……8.忘记删文件导致RE…………?!(记得原来只有WA或者TLE,没想到还有RE……)上代码:a274002 阅读全文
posted @ 2011-08-15 23:39
ω 提拉米兔 ℃
阅读(254)
评论(0)
推荐(0)
摘要:
勒让德两平方数之和定理:R(N)=4*D1(N)-4*D3(N)D1(N)=(整除N且满足d=1(mod4)的正约数d的个数),D3(N)=(整除N且满足d=3(mod4)的正约数d的个数)。先开始枚举的n的约数,后来超时了,就改成了这个版本的……#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>using namespace std;int main(void){ int n; while(scanf("% 阅读全文
posted @ 2011-08-10 21:37
ω 提拉米兔 ℃
阅读(502)
评论(0)
推荐(0)
摘要:
由题意,要求A^B的所有约数之和%9901。A可以唯一分解成p1^a1*p2^a2*...*pn^an,A^B=p1^(a1*B)*p2^(a2*B)*...*pn^(an*B);A^B的所有约数之和=[1+p1+p1^2+...+p1^(a1*B)]*[1+p2+p2^2+...+p2^(a2*B)]*[1+pn+pn^2+...+pn^(an*B)].而等比数列1+pi+pi^2+pi^3+...+pi^n可以由二分求得,思想是把式子从中间断开。若n为奇数,一共有偶数项,设p为3,则(1+p)+(p^2+p^3)=(1+p)+p^2(1+p).若n为偶数,一共有奇数项,设p为4,则(1+p 阅读全文
posted @ 2011-08-10 10:32
ω 提拉米兔 ℃
阅读(329)
评论(0)
推荐(2)
摘要:
题意:求正整数K(4 <= K <= 10100)是否有一个素因子是比L(2 <= L <= 106)小的。思路:大数模运算,让比L小的所有素数去除K,如果余数为0则表示存在。先预处理打一张素数表,然后对K按1000000000进制进行分解。先开始写搓了很多地方,打素数表的时候居然忘记了用筛法,结果就很悲剧地TLE了……然后就是高精度取模那个地方写错了,现在还没有明白为什么要用long long来存ans,我已经把所有数字的范围控制在106以内了啊……幸亏我拆数字的地方没有写错,不然还得调……a274002635Accepted1740K1094MSG++1124B20 阅读全文
posted @ 2011-08-08 20:09
ω 提拉米兔 ℃
阅读(240)
评论(0)
推荐(0)
摘要:
dp还是不会啊啊啊……今天被这个题虐惨了……主要是01背包都不会……去看了背包九讲的01背包部分,大概会写了,就是有两个地方不懂,以后再想吧……一个是为什么dp[i][j]要初始化为0二是为什么k的那层循环要在最里面三是为什么k要倒着枚举……求路过大神指点啊啊啊……a274003132Accepted452K0MSG++807B2011-08-05 22:09:44#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<algorithm>in 阅读全文
posted @ 2011-08-05 22:17
ω 提拉米兔 ℃
阅读(253)
评论(0)
推荐(0)
摘要:
from http://www.oiers.cn/pack/Index.html第一讲 01背包问题这是最基本的背包问题,每个物品最多只能放一次。第二讲 完全背包问题第二个基本的背包问题模型,每种物品可以放无限多次。第三讲 多重背包问题每种物品有一个固定的次数上限。第四讲 混合三种背包问题将前面三种简单的问题叠加成较复杂的问题。第五讲 二维费用的背包问题一个简单的常见扩展。第六讲 分组的背包问题一种题目类型,也是一个有用的模型。后两节的基础。第七讲 有依赖的背包问题另一种给物品的选取加上限制的方法。第八讲 泛化物品我自己关于背包问题的思考成果,有一点抽象。第九讲 背包问题问法的变化试图触类旁通 阅读全文
posted @ 2011-08-05 20:26
ω 提拉米兔 ℃
阅读(210)
评论(0)
推荐(0)
摘要:
话说都做了那么长时间DP了,对DP还是一点感觉都没有……还是得看别人的代码才能AC……大意:给你一个text,你要把单词一行一行排起来,每一行最多不能超过m个字符(包括空格),假设每一行的长度为len,那么要求使所有(m-len)*(m-len)的和最小。其中dp[i]表示的是要把前i个词放好的最小值对于每一个dp[i],向前找单词继续放进去,直到放不下为止,找这个过程中的总的最小值存在dp[i]中。a274003390Accepted436K47MSG++643B2011-08-05 17:05:05#include<cstdio>#include<cstdlib># 阅读全文
posted @ 2011-08-05 17:22
ω 提拉米兔 ℃
阅读(305)
评论(0)
推荐(0)