分类 思维题 下的文章

BZOJ 4292: [PA2015]Równanie

Description对于一个正整数n,定义f(n)为它十进制下每一位数字的平方的和。现在给定三个正整数k,a,b,请求出满足a<=n<=b且k*f(n)=n的n的个数。Input第一行包含三个正整数k,a,b(1<=k,a,b<=10^18,a<=b)。Output输出一个整数,即满足条件的n的个数。Sample Input51 5000 10000Sample Output3HINT满足的3个n分别为7293,7854和7905。Solution虽然数据范围很大,但是仔细想想平方和最大的数也就 18 个 9,9^2 18 = 1458,发- 阅读剩余部分 -

BZOJ 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头

题目描述今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏.贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛外,i号奶牛与i-l号和i+l号奶牛相邻.N号奶牛与1号奶牛相邻.农夫约翰用很多纸条装满了一个桶,每一张包含了一个独一无二的1到1,000,000的数字.接着每一头奶牛i从柄中取出一张纸条Ai.每头奶牛轮流走上一圈,同时拍打所有编号能整除在纸条上的数字的牛的头,然后做回到原来的位置.牛们希望你帮助他们确定,每一头奶牛需要拍打的牛.输入第1行包含一个整数N,接下来第2到N+1行每行包含一个整数Ai.输出第1到N行,每行的输出表示第i头奶牛要拍- 阅读剩余部分 -

BZOJ 1192: [HNOI2006]鬼谷子的钱袋

题目描述鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政。有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一件宝物引起了他极大的兴趣,那就是无字天书。但是,他的行程安排得很满,他他已经买好了去邯郸的长途马车标,不巧的是出发时间是在拍卖会快要结束的时候。于是,他决定事先做好准备,将自己的金币数好并用一个个的小钱袋装好,以便在他现有金币的支付能力下,任何数目的金币他都能用这些封闭好的小钱的组合来付账。鬼谷子也是一个非常节俭的人,他想方设法使自己在满足上述要求的前提下,所用的钱袋数最少,并且不有两个钱袋装- 阅读剩余部分 -

BZOJ 1968: [Ahoi2005]COMMON 约数研究

题目描述输入只有一行一个整数 N(0 < N < 1000000)。输出只有一行输出,为整数M,即f(1)到f(N)的累加和。样例输入3样例输出5题解直接想每个数的因数是不好想的,这道题可以转换成倍数来想。假定一共有 n 的数。对于一个数 i ,可以作为它的倍数的因数,这样的倍数有多少个呢,显然是 n / i 个。所以最终的答案就是 sigma(n / i)。非常的显然,这样我们就统计到了所有的因数的个数,保证不重不漏。代码#include <cstdio> using namespace std; int main() { int n; s- 阅读剩余部分 -

BZOJ 2456: mode

题目描述给你一个n个数的数列,其中某个数出现了超过 n/2 次即众数,请你找出那个数。输入第1行一个正整数n。第2行n个正整数用空格隔开。输出一行一个正整数表示那个众数。样例输入53 2 3 1 3样例输出3提示100%的数据,n<=500000,数列中每个数<=maxlongint。题解一道思维题,代码很短,做法可以直接看代码。简单证明待更新...