题意:
n个数,每次可以选一个数 让其 *=2 或者 /=2
问至少操作多少次使得所有数相等。
思路:
对于每个数,计算出这个数可以变成哪些数,以及变成那个数的最小步数,用两个数组保存
cnt[i] 表示序列中有cnt个数可以变成i
step[i] 表示能变成i的 那些数 变成i的花费和是多少。
其中,遇到奇数的时候要特殊处理一下:
比如,7...
分类:
其他好文 时间:
2015-07-16 16:49:44
阅读次数:
113
C. Amr and ChemistryProblem's Link: http://codeforces.com/problemset/problem/558/CMean:给出n个数,让你通过下面两种操作,把它们转换为同一个数。求最少的操作数。1.ai = ai*22.ai = ai/2 (向下取...
分类:
其他好文 时间:
2015-07-16 02:03:37
阅读次数:
109
题目链接
题意:
给定n长的序列
每次可以选一个数 让其 *=2 或者 /=2
问至少操作多少次使得所有数相等。
思路:
对于每个数,计算出这个数可以变成哪些数,以及变成那个数的最小步数。
cnt[i] 表示序列中有cnt个数可以变成i
step[i] 表示能变成i的 那些数 变成i的花费和是多少。
notice: if a[i] == 7, a[i] also can reac...
分类:
其他好文 时间:
2015-07-16 00:56:03
阅读次数:
192
题意:给出n个数,让你通过下面两种操作,把它们转换为同一个数。求最少的操作数。
1.ai = ai*2
2.ai = ai/2,向下取整
思路:可以除以二 或者 乘以二,就相当于位运算的右移和左移。用两个数组,vis 数组, cnt 数组。刚开始都初始化为0; vis[i] 表示 i 这个数可以由几个数转化而来,cnt[i] 表示题目给出的 n 个数全部转化为 i 需要的操作数。
首先遍历数组找到 ai 的最大值记为 MAX,那么所有数转化的上界就是 MAX,因为如果最终转化的数如果大于MAX,那...
分类:
其他好文 时间:
2015-07-15 22:55:38
阅读次数:
200
A. Lala Land and Apple Trees
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Amr lives in Lala Land. Lala Land...
分类:
移动开发 时间:
2015-07-15 22:53:57
阅读次数:
301
【比赛链接】click here~~
A. Lala Land and Apple Trees:
【题意】:
AMR住在拉拉土地。拉拉土地是一个非常美丽的国家,位于坐标线。拉拉土地是与著名的苹果树越来越随处可见。
拉拉土地恰好n苹果树。树数i位于位置xi和具有人工智能的苹果就可以了增长。阿姆鲁希望从苹果树收集苹果。 AMR目前维持在X =0的位置。在开始的时候,他可以选择是否去左边或右...
分类:
其他好文 时间:
2015-07-15 21:03:20
阅读次数:
171
A. Lala Land and Apple Trees
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Amr lives in Lala Land. Lala La...
分类:
移动开发 时间:
2015-07-15 19:19:18
阅读次数:
323
题意:给定一个数列,每次操作只能将某个数乘以2或者除以2(向下取整)。求最小的操作次数使得所有的数都变为相同值。
比赛的时候最后没实现。唉,之后才A掉。开始一直在想二分次数,但是半天想不出怎么判断。后来发现其实每个数能变成的数很少很少(最多400个不到),于是想到用数学方法+一点暴力,可惜时间不够了。
也不能完全算是数论题。只是用到了一些...
分类:
其他好文 时间:
2015-07-15 11:23:29
阅读次数:
155
预处理两个数组:
vis[x],有几个数能够变成x
num[x],所有数变成x最少需要变化的步数
ans=min(num[x]),vis[x]==n
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2015-07-15 11:09:45
阅读次数:
109
题意:给一个数组,记数组中出现次数最多的元素出现的次数为这个数组的美丽值,求这个数组长度最短的子数组(要连续),使得该子数组的美丽值与原数组美丽值相等。要求输出子数组的起始和结束位置下标(从1开始)。
也是个水题。每个数最大才10^6,用hash存储每个数出现的次数即可。注意有可能有多个不同的元素出现的次数都相等且为最大,需要一一判断。遍历数组的时候可以用...
分类:
编程语言 时间:
2015-07-15 09:27:20
阅读次数:
131