题目名称 1416. [冲刺NOIP2014]倒水
输入输出 pwater.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatar铁策 于2014-11-05加入
开放分组 全部用户
提交状态
分类标签
位运算 数论 数学
分享题解
通过:94, 提交:206, 通过率:45.63%
GravatarSky_miner 100 0.000 s 0.00 MiB C++
Gravatar‎MistyEye 100 0.000 s 0.00 MiB C++
Gravatar哒哒哒哒哒! 100 0.000 s 0.00 MiB C++
GravatarYGOI_真神名曰驴蛋蛋 100 0.000 s 0.00 MiB C++
Gravatar521 100 0.000 s 0.00 MiB C++
Gravatardateri 100 0.000 s 0.00 MiB C++
Gravatarlingyixiaoyao 100 0.000 s 0.00 MiB C++
Gravatarcy 100 0.000 s 0.00 MiB C++
GravatarHakurou! 100 0.000 s 0.00 MiB C++
GravatarLesater 100 0.000 s 0.00 MiB C++
关于 倒水 的近10条评论(全部评论)
水平还是差一点……
经过一些思考,我们发现操作本质是把加过瓶子的n拆成若干二的幂然后再把二的幂换成1.
可以得到合并后的数的下界,然后可以贪心。
GravatarRapiz
2016-11-01 09:08 15楼
神一般的位运算……然而还是没有完全参透,明天一定再看看……
Gravatar浮生随想
2016-10-23 20:59 14楼
Gravatar哒哒哒哒哒!
2016-03-28 16:49 13楼
我居然看到了lowbit()一样的东西。。。
GravatarSky_miner
2016-03-28 16:11 12楼
回复 @绿猹 :
纠结了我一晚上……
Gravatar→震世逆空波→
2014-11-06 07:13 11楼
回复 @筽邝 : @绿猹 :
解法太优美OTZ!!
Gravatar水中音
2014-11-06 06:55 10楼
回复 @绿猹 :
1500渡劫成功
Gravatarztx
2014-11-05 21:41 9楼
回复 @safhsdajkfhsad :
还有陈合力呢!
Gravatar筽邝
2014-11-05 20:31 8楼
呵呵,老师又骗我们了。。。还以为他有多厉害呢,不过是抄了几道罢了。不过题目还不错,写起来没问题,不要官其它了。
Gravatar铁策
2014-11-05 20:25 7楼
回复 @传奇 :
你用的是游光辉老师的书吗?
Gravatarsafhsdajkfhsad
2014-11-05 20:20 6楼

1416. [冲刺NOIP2014]倒水

★☆   输入文件:pwater.in   输出文件:pwater.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

一天,树树买了N个容量可以认为是无限大的瓶子,初始时每个瓶子里有l升水。树树发现瓶子实在太多了,于是他决定保留不超过K个瓶子。每次他选择两个当前含水量相同的瓶子合并,把一个瓶子的水全部倒进另一个瓶。然后把空瓶丢弃(不能丢弃有水的瓶子)。

显然在某些情况下树树无法达到目标,比如N=3,K=1。此时树树会重新买一些新的瓶子(新瓶子容量无限,开始时有1升水)。以达到目标。

现在树树想知道,最少需要买多少新瓶子才能达到目标呢?

【输入格式】

一行两个正整数N,K(1≤N≤10^9,K≤1000)。

【输出格式】

一个非负整数,表示最少需要买多少新瓶子。

【样例输入】

3 1

【样例输出】

1

【数据规模】

对于30%的数据,N≤3*10^5;

对于100%的数据如题目。

【来源】

AYYZ校内测试题,版权所有,侵权必究