上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 题目: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) 编辑
摘要: 题目:http://acm.timus.ru/problem.aspx?space=1&num=1355题意:给出两个数 a b,从a 可以走的编号是 b 的因子,每走一个编号就可以喝一杯酒,问从 a 到 b 可以喝到最多的酒是多少(大概是这个意思)思路:如果从a 到不了 b(即 b % a 不为零) 那么 ans = 0;如果可以走到,那么计算 b / a 后的素因子的个数View Code 1 typedef long long ll; 2 const int N = 32000; 3 int prime[N]; 4 bool vis[N]; 5 int num; 6 void i 阅读全文
posted @ 2012-09-12 21:47 AC_Girl 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hrbeu.edu.cn/index.php?act=problem&id=1008&cid=25写的程序就那么的耗时吗?交上去都有5分钟了,还是在Waiting。费了好大劲调,也不知道对不对,留个纪念吧。说一下思路:1,把第n 封信放在一个信封里,比如说是第 k 个 一共有 n - 1种方法 2,放编号为 k 的信,有两种情况: (1)放在第 n 个信封里,那么,对剩余的 n - 2 个信,有 f (n - 2) 种方法。 (2)不放在第 n 个信封里,这时,对于除第 n 封信以外剩余的 n - 1封信有 f ( n - 1... 阅读全文
posted @ 2012-09-12 21:41 AC_Girl 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.timus.ru/problem.aspx?space=1&num=1118题意:给出个范围 n ~ m,定义 triviality(i) = ( i 的所有因子的和) / i ;做了一晚上了,就是 WA 9 ,都快要哭了。当发现自己哪里错了时候,都想一头撞死了,我竟然把那个 所有因子和当成了因子个数来算,不仔细看题,教训。。白交了那么多次。说一下注意点:1.如果给的范围内有 1,那么 1 的triviality = 0(因为题目说了,n因子是小于n本身的) 2.如果给的范围内有素数,那么素数越大 他的triviality值就越小,所以只需找到... 阅读全文
posted @ 2012-09-11 20:57 AC_Girl 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4272一开始看确实很简单的,但是晕死的题意距离坑了很多人。。View Code 1 typedef long long ll; 2 const int N = 1010; 3 int a[N]; 4 int main() 5 { 6 int n,i,j; 7 //freopen("data.txt","r",stdin); 8 while(scanf("%d",&n) != EOF) 9 {10 for(i = 0; i < n; 阅读全文
posted @ 2012-09-10 11:39 AC_Girl 阅读(261) 评论(4) 推荐(0) 编辑
摘要: 题目:http://acm.timus.ru/problem.aspx?space=1&num=1049题意:给十个数,假设十个数相乘后所有因子个数为 sum,求的 N = sum % 10;忘了是根据什么了,有一个结论:任何一个数都可以写成:M = P1 ^ a1 * P2 ^ a2 * P3 ^ a3 ~~~~~ Pn ^ an;那么 M 的因子个数就是 sum = (a1 + 1) * (a2 + 1) * (a3 + 1) ~~~(an + 1); ai < 10000,注意随时取余View Code 1 const int N = 10010; 2 int prime[ 阅读全文
posted @ 2012-09-10 11:17 AC_Girl 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.timus.ru/problem.aspx?space=1&num=1352题意:首先定义梅森尼质数:符合 2 ^ p - 1是素数的数,现在给出一个 n 让你输出一个 p 满足 2 ^ p - 1 是第 n 个梅森尼质数 ( n < 39)打表的过的,就没什么可说的了View Code 1 const int x[]={0,2,3,5,7,13,17,19,31,61,89, 2 107,127,521,607,1279,2203,2281,3217,4253,4423, 3 9689,9941,11213,... 阅读全文
posted @ 2012-09-10 11:09 AC_Girl 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.timus.ru/problem.aspx?space=1&num=1306很想说这个题目很无语,最后还是在discuss http://acm.timus.ru/forum/thread.aspx?id=19974&upd=634679402957920104里看的这个人说的,才过的View Code 1 typedef unsigned int ll; 2 int main() 3 { 4 priority_queue<ll>pr; 5 ll a; 6 int n,i; 7 //freopen("data.txt" 阅读全文
posted @ 2012-09-08 10:37 AC_Girl 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.timus.ru/problem.aspx?space=1&num=1613题意:给出N 个数,然后给出询问区间,并给出询问的数,问这个数是不是存在hash还是很好想的,然后如果再能想到优化,就没问题了View Code 1 typedef long long ll; 2 const int N = 100008; 3 const int mod = 100007; 4 struct node 5 { 6 int data; 7 int id; 8 }; 9 vector<node>mark[N];10 int a[N];11 int main( 阅读全文
posted @ 2012-09-08 10:32 AC_Girl 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.timus.ru/problem.aspx?space=1&num=1671题意:给你 N 个点 和 M 条边,然后删除其中的一些边,问删除一些边后剩余的几块用并查集逆向的把要删的边加入进去,加入的时候统计。先是全部输入,然后标记要删除的边,把不需要删除的边用并查集合并,然后逆向的把要删的边加上,每加一条边时看看现在的快有几个View Code 1 typedef long long ll; 2 #define N 100001 3 int num[N]; 4 int f[N]; 5 int cnt[N]; 6 struct node 7 { 8 int . 阅读全文
posted @ 2012-09-08 10:15 AC_Girl 阅读(199) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页