摘要: 题目:http://acm.timus.ru/problem.aspx?space=1&num=1748题意:定义:一个数的的因子个数称为该数的复杂度,给出一个n,求从 1 ~ n 范围内复杂度最大的数,如果有多个相等,输出最小的,并输出因子个数其实就是求反素数的(关于反素数:http://www.cnblogs.com/fxh19911107/archive/2012/07/28/2613150.html),先用求反素数的模板求出在n 范围内复杂度最大的数,然后再把 这个数分解成 素数 乘积的形式,求出因子数View Code 1 typedef long long ll; 2 co 阅读全文
posted @ 2012-09-15 21:40 AC_Girl 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=3661题意:一头牛,给出他运动的时间 ts,在运动时间内,它可以选择跑步,也可以选择休息,如果他跑步疲劳值 +1,如果休息疲劳值 -1,如果它在休息,那么必须疲劳值为0时才能跑步,问到第N秒且疲劳值为0时,牛可以跑得最远距离dp[i][j] 表示 在第 i 秒时 疲劳值为 j 时牛跑的最远距离,那么方程就是 dp[i][j] = dp[i - 1][j - 1] + dis[i] (如果在第 i 秒跑步)dp[i][0] = Max(dp[i][0],dp[i - j][j]) (if( i - j >= j),初始化 dp[i 阅读全文
posted @ 2012-09-15 15:58 AC_Girl 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hrbeu.edu.cn/index.php?act=problem&id=1010&cid=25题目不难,但是当 a b c都很大时,就不知道怎么算了,当作一个 求 c (n, m) % p的模板用吧。参考链接:http://www.cnblogs.com/gxceo/archive/2011/04/04/2005137.html因为任何一个实数都可以写成 素数的乘积的形式,所以 c (n , m) = n ! / ( m! * (n - m) !) 就可以把这几个数都写成数素的乘积,然后分子分母低数相同的素数的指数进行相减,然后,剩余的数对 c 阅读全文
posted @ 2012-09-15 15:51 AC_Girl 阅读(160) 评论(0) 推荐(0) 编辑