Poj1702
三进制……由于每种砝码只能用一次,所以将给定的重量转化成三进制之后,左边和右边要加的重量转化成三进制后每位必须为1 或者 0 。因此有以下几种情况:
当给定重量的待处理位为0 时,左右两边均为 0 ;为 1 时,左边为 0 ,右边为 1 ;为 2 时,左边为 1 ,右边为 0 ,同时重量的下一位加 1 ;为 3 时,左边右边均为 0 ,同时下一位加 1 ,直到结束。
Poj2356
好牛叉的抽屉原理!!!
假设sum[i] 为从第 0---i 的数之和对 n 取模的结果,那么总共有 n 个数,如果当 sum[i]=0 时就表示找到啦,如果没有发现 sum[i]=0 的情况,那么剩下 1--n-1 的抽屉要来装 n 个值,也就是说 sum[i](0<=i<n)n 个数中有两个数是相等的,那么这两个数之差为 0 ,也就是说存在 i , j 使得 a[i]---a[j] 之和模 n 为 0 ,所以本题没有无解的情况。
如果用01 背包处理时间复杂度为 O(n^2)..... 用抽屉原理只需要 O(n) !!强大吧……
Poj3370
和上一题差不多,忽略……
Poj2478
法雷数列,其实考的是欧拉函数,关于法雷数列,Fn 就表示有多少个分母小于等于 n 的最简真分数,那么当分母为 n 的时候,增加的真分数个数应该就是 n 的欧拉函数了,所以筛法求出欧拉函数之后相加即可。
Poj3734
牛题…………
用矩阵和母函数的方法都能做,悲剧的是我没有想到这题可以用递推在纠结母函数了,先入为主啊,结果递推想了好久好久……好吧,我错了……
结果悲剧的是母函数法没有看懂,orz ……
Poj2407
很简单的单纯套欧拉函数的题,不过调试了很久???因为溢出了,悲剧,先除再乘啊!!
Hdu3589
雅克比符号,关于二次剩余方面的知识。
Poj3270
置换群的第一题……
黑书的经典例题,在此不解释……
既然要排序,那么总不可能排完序再一个个找原来对应的位置吧,所以就用了个简单的hash ,把原来的位置记下来,因为是独一无二的,那么 hash[i]=j 就表示值为 i 的数原来在 j 位置,然后就好处理置换群了。

142

被折叠的 条评论
为什么被折叠?



