题目:http://poj.org/problem?id=2480
首先要会欧拉函数:先贴欧拉函数的模板,来源于吉林大学的模板:
//欧拉函数PHI(n)表示的是比n小,并且与n互质的正整数的个数(包括1)。
unsigned euler(unsignedx)
{// 就是公式
unsigned i, res=x;
for(i = 2; i < (int)sqrt(x ...
分类:
其他好文 时间:
2014-05-12 07:14:06
阅读次数:
368
Oulipo
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4187 Accepted Submission(s): 1660
Problem Description
The French author G...
分类:
其他好文 时间:
2014-05-12 06:52:35
阅读次数:
278
题目链接:10253 - Series-Parallel Networks
白书的例题。
这题也是需要把问题进行转化,一个并联可以分为几个串联,然后串联可以分成边。
如此一来,最后叶子结点种数会是n,问题转化为去分配叶子结点,使得总和为n。
书上有两种方法,一种直接去递归,利用组合数学的方式去计算答案。
一种是推出递推式:
设dp[i][j]为一共j个叶子结点的树,子树的叶子最多的为i...
分类:
Web程序 时间:
2014-05-12 06:22:04
阅读次数:
447
题目:uva 565 - Pizza Anyone?(暴力枚举 + 二进制)
题目大意:题目是说有一个人要帮他的朋友门定批萨,然后每个朋友都有自己的口味要求,问能不能定一个批萨然后满足每个朋友的至少一个要求,输出要求按字典序。
能就输出所定批萨里面加的东西;
不能就输出:No pizza can satisfy these requests.
解题思路:这题里面有16种材料,每种材...
分类:
其他好文 时间:
2014-05-11 14:51:43
阅读次数:
312
题目链接:1073 - Glenbow Museum
白书上的例题,需要一定的推理。
首先要把问题转化,推理出n个点,R的个数为(n + 4) / 2, O的个数为(n - 4) / 2个,因为首先四个角必须为R,然后在中间添加O点,每有一个O点就要多一个R点,所以最后R点比O点多4。
然后问题就转化为给定n个R点和m个O点,求出有多少个序列,要求O点不连续,并且R的连续个数不能超过4,的序...
分类:
其他好文 时间:
2014-05-11 14:41:25
阅读次数:
293
题目链接:
http://poj.org/problem?id=1509
Glass Beads
Time Limit: 3000MS
Memory Limit: 10000K
Total Submissions: 2311
Accepted: 1343
Description
Once upon...
分类:
其他好文 时间:
2014-05-11 13:47:01
阅读次数:
292
题目链接:11038 - How Many O's?
题意:求[a.b]之间,0出现的次数。
思路:一开始一直往数位DP上去想,结果发现挺复杂的。。
把问题先转化为求0 - num的个数,在用到b的个数减去到a的个数
其实只要利用计数的乘法和加法原理,把数字对应的每一位的分成左右两边,利用乘法原理求总数,在用加法原理把所有的总数加起来就是总情况数。那么讨论一下分成两边的情况。举个例子
比...
分类:
其他好文 时间:
2014-05-11 13:16:13
阅读次数:
282
题目链接:1362 - Exploring Pyramids
白书上的例题,思路是对于每个结点,往后遍历分为左右两边子树来考虑,左边的子树为去掉根节点剩下的子树,而右边是要算上根节点的,这样就不会有重复的情况出现,然后根据乘法原理,左右两边情况相乘为总情况数,然后计算这些总和。
f[i][j]表示[i,j]结点的情况种数,那么 f[i][j] = sum{f[i + 1][k - 1] * ...
分类:
其他好文 时间:
2014-05-11 07:02:11
阅读次数:
277
题目链接:
http://poj.org/problem?id=1635
题目意思:
判断两棵树是否为同构的。0...
分类:
其他好文 时间:
2014-05-11 05:37:16
阅读次数:
338
题目链接:11361 - Investigating Div-Sum Property
白书上的例题,不过没有代码,正好前几天写了一题数位DP的题目,这题也就相对轻松了。
dp[i][x][y]表示加到第i位,数字 % k,数位和 % k的组合情况数,那么现在要添加一个0 - 9的数字上去状态转移为
dp[i + 1][(x * 10 + num) % k][(y + num) % k],计...
分类:
其他好文 时间:
2014-05-11 05:23:33
阅读次数:
316