HYSBZ - 1192 鬼谷子的钱袋 (思维)
题目链接:
https://www.lydsy.com/JudgeOnline/problem.php?id=1192
题目:
Description
鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政。有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一件宝物引起了他极大的兴趣,那就是无字天书。但是,他的行程安排得很满,他他已经买好了去邯郸的长途马车标,不巧的是出发时间是在拍卖会快要结束的时候。于是,他决定事先做好准备,将自己的金币数好并用一个个的小钱袋装好,以便在他现有金币的支付能力下,任何数目的金币他都能用这些封闭好的小钱的组合来付账。鬼谷子也是一个非常节俭的人,他想方设法使自己在满足上述要求的前提下,所用的钱袋数最少,并且不有两个钱袋装有相同的大于1的金币数。假设他有m个金币,你能猜到他会用多少个钱袋,并且每个钱袋装多少个金币吗?
Input
包含一个整数,表示鬼谷子现有的总的金币数目m。其中,1≤m ≤1000000000。
Output
只有一个整数h,表示所用钱袋个数
Sample Input
3
Sample Output
2
题目大意:
中文题,大概就是说给你一个数,让你把它差分成几个部分,使得这些部分能够组成任何一个小于等于n的数。
题目分析:
首先,能够表示任意的数 0.0 额 想到了什么?对,就是2进制,2进制数。任何一个数都有其对应的2进制的形式,并且每一位上非0即1。所以我们就可以按照2进制的方式组合形成任意一个数字。比如1011010就可以有1000000 + 10000 +1000 + 10 组合而成。也就是说如果我们有了 1000 100 10 1 就可以组成小于 1111 的任何的数字。
所以,对于这个题目,我们应该怎么办呢?
首先,我们要把这个数分成两部分 一部分化成2进制是全1的序列,另一部分就是剩下的部分。分好之后,我们来分析一下,是不是可以表示所有的数?首先 < 全1那部分的数,可以按照方才所说的那种方式组合。那 > 全1那部分的数呢?因为 全1那部分的数 > 剩下的数(易证 设这个数为x,并且 2^(n) -1< x < 2^(n-1) -1 则又 2^(n)-2^(n-1) = 2^(n-1) )。所以 > 全1那部分的数 就可以先去掉一个剩下的数,然后在按照刚才的方式组合。
说起来麻烦,思考一下就明白,其实就是以2为底的n的对数(向下取整)+1。
代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>using namespace std;int main()
{int n;cin>>n;cout<<(int)log2(n)+1<<endl;return 0;
}
HYSBZ - 1192 鬼谷子的钱袋 (思维)相关推荐
- BZOJ 1192 鬼谷子的钱袋 数论
1192:鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1926 Solved: 1417 题目连接 http://www.lyds ...
- 洛谷 P2320 [HNOI2006]鬼谷子的钱袋 思维+二进制
https://www.luogu.org/problem/P2320 题目描述 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政. 有一天,他在咸阳游历的时候,朋友告诉 ...
- BZOJ 1192 [HNOI2006]鬼谷子的钱袋 (思维)
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4650 Solved: 3242 [Submit][ ...
- BZOJ 1192: [HNOI2006]鬼谷子的钱袋【二进制】
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB [题目描述] 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派 ...
- 1192: [HNOI2006]鬼谷子的钱袋
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3530 Solved: 2575 [Submit][ ...
- bzoj1992鬼谷子的钱袋(二分乱搞 二进制)
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3223 Solved: 2333 Descripti ...
- bzoj1192 [HNOI2006]鬼谷子的钱袋
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2443 Solved: 1785 [Submit][ ...
- 【HYSBZ - 1192】鬼谷子的钱袋(水题,二进制)
题干: 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一件宝物引起了他极 ...
- 1192. [HNOI2006]鬼谷子的钱袋【进制】
Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一 ...
最新文章
- 计算机二级怎么更改报名密码忘记了怎么办,中考报名系统密码忘了怎么办
- java close 方法,用Layman的术语解释Java中的close()方法
- kibana安装步骤
- OpenCV 凸包Convex Hull
- INamingContainer接口解决多个自定义控件ID冲突
- deepin安装卡死在蓝色背景_求大神帮助~安装DEEPIN系统卡在蓝色背景图什么原因...
- 汇编语言(二十六)之自然数求和
- 【送给Git初学者】
- UNICODE字符集
- 前端学习(2966):上午回顾
- 《软件需求分析(第二版)》第 13 章——需求开发面临的特殊难题 重点部分总结
- flex producer java_在 Logic Pro 中选取 Flex 与跟随设置
- java 获取文件大小_阿里Java后端开发面经,面试官都替我感到绝望
- 如何修改Window系统下PATH路径
- 【重点!记忆化递归+DP】LeetCode 72. Edit Distance
- Matlab-rmdir函数无法删除文件夹解决方案
- Unity 混音器AudioMixer使用注意
- 物理层-计算机网络知识汇总(二)|Zam9036博客
- 软件行业迎来拐点 厂商积极拥抱SaaS和云计算
- 探索“吴家路径”:一条带动村民共同富裕,有效促乡村善安治之路