摘要: 看明白题就知道是欧拉函数。。//============================================================================// Name : 3090.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#incl 阅读全文
posted @ 2011-07-27 20:24 KOKO's 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 这种加搜索的题调着真难调。。找哪错太费劲了。。。我开始做的就搜索+dp,但是TLE了。。后来记忆化一下就很快了//============================================================================// Name : 10891.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//======================================= 阅读全文
posted @ 2011-07-27 17:05 KOKO's 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 枚举需要的位数2ans> n* 10i&& 2ans< (n + 1)* 10i, i 的初值为log10(n) + 2。而符合条件的一个整数ans就是答案。log2(2ans) = ans, log2(n * 10i) = log2(n) + i * log2(10),log2((n + 1)* 10i) = log2(n + 1) + i * log2(10)。//============================================================================// Name : 701.cpp// Auth 阅读全文
posted @ 2011-07-27 15:03 KOKO's 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 计算概率的,其实只要把题仔细的看明白就很简单。但是题不大好读,我读了好几遍才懂。具体实际上很简单,设三个数分别为mn, mc, k;那么如果一开始选中car,ans = (mc/(mc+mn)) * (mc-1)/(mc-1+mn-k);如果是牛,ans = (mn/(mc+mn)) * (mc)/(mn-1-k+mc);答案即为两种情况的和。//============================================================================// Name : 10491.cpp// Author : // Version :// Cop 阅读全文
posted @ 2011-07-27 12:24 KOKO's 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 和刚才那道很像,只不过递推公式变了,编为:f(n) = f(n-2)*2+f(n-1);最坑爹的就是输入0的时候要输出的竟然是1。。。。这也算是一种way。。//============================================================================// Name : 10359.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//=============== 阅读全文
posted @ 2011-07-27 10:38 KOKO's 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 其实就是到1000的斐波那契序列,开始开的串的长度200,竟然都能超。。。改成1000就对了。稍微的难点就是用到大数加法。//============================================================================// Name : 10334.cpp// Author : // Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//================================= 阅读全文
posted @ 2011-07-27 10:18 KOKO's 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 直接推还真没推出来。。。看了别人讲的好多也没明白,最后看这个讲的还是不错的。题意:N个小孩围成一个圈,老师 顺时针隔 0, 1, 2, 3,。。。个小孩发糖,问每个小孩是否都能领到糖。解法很简单 当N是2^K时输出YES,否则输出NO。printf((N & N - 1) ? "NO\n" : "YES\n");关键这个怎么证明呢。看到Discuss里说和2次剩余有关,但是没有看出来。。。下面给出自己的简易证明。当N是奇数时,拿 7 为例。当增量大于N时,就mod N,对增量没有影响。增量 0 1 2 3 4 5 6 0 1 2 3 4 5 6编 阅读全文
posted @ 2011-07-27 09:10 KOKO's 阅读(234) 评论(0) 推荐(0) 编辑