摘要:
负数求余数运算是一个数学问题:任何一个整数n都可以表示成 n=k*q+r 其中0<=|r|<|q| 这里的r就是n除以q的余数,即 r==n%q 例如: -9=(-2)*4+(-1) 则-9除以4的余数为-1 另外:求余:取整除后的余数。 求模:基本意义和求余相同,不过要求a%b中的b不是负数。 阅读全文
2015年3月23日
摘要:
Problem Description有一段时间Eric对逆序数充满了兴趣,于是他开始求解许多数列的逆序数(对于由1...n构成的一种排列数组a,逆序数即为满足iaj的数字对数),但是某天他发现自己遗失了原来的数列,只留下之前计算过程中留下的各个数字对应的逆序数,现在请你帮他还原出原序列。Input... 阅读全文
摘要:
中文题题目分析搜索题,非常好的剪枝由于深度一定(m),所以使用深度优先搜索,自上而下的设定蛋糕序号,最顶层的为第1层,……,最底层的蛋糕为第m层,很明显满足题目条件的前i层的(从顶层(也就是编号为1的层)开始计数)最小面积mins[i]和体积minv[i]是在该层的半径以及高度都为i时取得,如果采用... 阅读全文
2015年3月18日
摘要:
题目分析如果n=1,答案是1,否则答案是2n−2。证明:ai肯定是最小的或者最大的。考虑另外的数,如果它们的位置定了的话,那么整个序列是唯一的。那么ai是最小或者最大分别有2n−1种情况,而整个序列单调增或者单调减的情况被算了2次,所以要减2。要注意的一点是因为p>231,所以要用快速乘法。用法与快... 阅读全文
2015年3月17日
摘要:
题目题意: 有n个不同的数,你可以询问a,b哪个大,会得到答案,然后问最少要几次保证能挑选出最大和第二大的数。 分析: n个数,先以打擂台的方式,两两比较出最大的,n - 1次,然后在由被最大PK下去的数字中,比较出最大的,有log(n)个数,需要进行log(n) - 1次,注意是向上取整。#in... 阅读全文
2015年3月16日
摘要:
题意大意:一个{1..n}的集合,求一个子集合,使得元素个数最多,并且不存在有两个元素x * k = y,求出最多的元素个数是多少.分析:先要删除k倍的,删除为{k, 2k, 3k, 4k, 5k, 6k...},会删掉多余的k^2,因此在加回k^2倍的数然后现在集合中会出现情况的只有k^2的倍数,... 阅读全文
2015年3月15日
摘要:
题目大意美丽的村庄里有一条河,N个石头被放置在一条直线上,从左岸到右岸编号依次为1,2,...N。两个相邻的石头之间恰好是一米,左岸到第一个石头的距离也是一米,第N个石头到右岸同样是一米。礼物被放置在第M个石头上,Frank从左岸开始跳跃,对于第i步,必须跳2*i-1米,每次可以向左方向跳,也可以向... 阅读全文
摘要:
题目大意:给出n个数,从中选取k个,使得乘积最大,并且尽量使和最大分析:首先按照数的绝对值大小排序。然后就要分三大类情况讨论:(1)前k个中选到0:如果选到0的话,乘积一定是0,所以尽量选大的数,让和变大。(2)前k个中选到负数的个数为偶数:这样的话直接输出答案(一定为最优解)(3)前k个中选到的负... 阅读全文
2015年3月14日
摘要:
题目大意给定两个数n和m,如果长度为m的数满足对于每个i(n#include#include#includeusing namespace std;int str[50];int n,m,flag;int judge(int cur){ int sum=0; for(int i=0; i... 阅读全文
摘要:
题目大意在一个晚上有N个人过河,他们有一个手电筒,需要有手电筒才能过河,每次最多两个人同时过河,每次过河时间等于速度最慢的那个人的过河时间,让所有人全部过河,花费的时间最少是多少?分析如果只有一个人过河,那么过河的总时间就是这个人过河的时间。如果是两个人过河,那么总时间为过河速度较慢的那个人的过河时... 阅读全文