P2320鬼谷子的钱袋(分治)
------------恢复内容开始------------
描述:https://www.luogu.com.cn/problem/P2320
m个金币,装进一些钱袋。钱袋中大于1的钱互不相同。
问最少需要几个钱袋,能使任意小于m的金币数表示出来。
比如一个数是20,那么我们如何表示从1到20所有的数呢?
假设我们能表示1~10的金币数,是不是只要再来一个金币数为10的袋子,就能表示11~20的金币
那我们能表示1~5,再来一个金币为5的袋子就行了。
以此类推。
那为什么要往中间分开呢?
我我们来试一试,如果获得了1~9,来一个金币数为11的袋子,很容易发现10是表示不出来的。
所以二分才是合理的,这样定义可以解决问题。
但二分的时候遇到奇数怎么办呢?比如我们要获得1~3
如果直接二分,那我们需要3/2=1个金币的袋子
并且剩下来只需要再获得3/2=1个金币
所以正确的做法应该是向上取整,需要(3+1)/2=2个金币
#include <bits/stdc++.h>
using namespace std;
int n,f[],cnt=;
int main()
{
cin>>n;
while(n)
{
f[cnt++]=(n+)/;
n/=;
}
cout<<cnt-<<endl;
for(int i=cnt-;i>=;i--)
cout<<f[i]<<" ";
}
------------恢复内容结束------------
P2320鬼谷子的钱袋(分治)的更多相关文章
- 洛谷P2320 鬼谷子的钱袋
P2320 06湖南 鬼谷子的钱袋 171通过 480提交 题目提供者xmyzwls 标签各省省选 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 题目有误 数据需要特判 评测系统太神了 题目 ...
- 洛谷P2320鬼谷子的钱袋.
题目 这个题考察二进制分解. \(Code\) #include <bits/stdc++.h> #pragma GCC optimize(2) #pragma GCC optimize( ...
- 题解 P2320 【[HNOI2006]鬼谷子的钱袋】
P2320 [HNOI2006]鬼谷子的钱袋 挺有趣的一道题,之所以发这篇题解是因为感觉思路的更清晰一点qwq 此题主要有两种方法: 一.分治思想 例如要凑出1~20,假如我们已经能凑出1~10了,那 ...
- P2320 [HNOI2006]鬼谷子的钱袋
洛谷2320 06湖南 鬼谷子的钱袋 来源 题目描述 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行 ...
- [Bzoj 1192][HNOI2006]鬼谷子的钱袋(二进制优化多重背包)
(人生第一篇bzoj题解有点激动 首先介绍一下题目: 看它题目那么长,其实意思就是给定一个数a,求将其拆分成n个数,通过这n个数可以表示出1~a中所有数的方案中,求最小的n. 您看懂了嘛?不懂咱来举个 ...
- AC日记——鬼谷子的钱袋 codevs 2998
2998 鬼谷子的钱袋 2006年省队选拔赛湖南 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 鬼谷子非常聪明,正 ...
- BZOJ-1192 鬼谷子的钱袋 2^n有关数论
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2473 Solved: 1806 [Submit][St ...
- BZOJ 1192: [HNOI2006]鬼谷子的钱袋 数学结论
1192: [HNOI2006]鬼谷子的钱袋 Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的 ...
- 1192: [HNOI2006]鬼谷子的钱袋
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3530 Solved: 2575[Submit][St ...
随机推荐
- 数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出
此题如果直接使用有序的TreeMap就不需要这样折腾: 1.map的key值唯一性,故就不在需要set集合来去重 2.使用map后利用key的唯一性,把序列号相同的数据直接加在一起,代码会很简洁 pa ...
- AJ学IOS(49)多线程网络之线程的创建NSThreand
AJ分享,必须精品 一:NSThread的基本使用 1:创建和启动线程 一个NSThread对象就代表一条线程 创建.启动线程 NSThread *thread = [[NSThread alloc] ...
- 如何初学python?资深程序员浅谈,教你学会入门python
我认为python应该是现在市面上最简单,也是最值钱的一门编程语言,所以学习的人是越来越多,但是,如何初学python?这个问题困扰着很多初学python的人,今天,给大家简单聊聊这个话题. 我曾经也 ...
- 不使用 if-elif 语句,如何优雅地判断某个数字所属的等级?
偶然看到了 stackoverflow 上的一个问题,还挺有启发,故分享一下. 题目大意是:有从 A 到 F 的 5 个等级,现要判断某个数值(从 0 到 1 之间)所属的等级.举例,如数值 > ...
- stand up meeting 1/12/2016
part 组员 工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 UI测试和调整:页面跳转调整 3 查漏补缺,扫除UI b ...
- sudo -s 命令 [oh-my-zsh] 提示检测到不安全目录
运行sudo -s 命令时,[oh-my-zsh] 冒出下面一大堆提示: [oh-my-zsh] Insecure completion-dependent directories detected: ...
- 详解 Collection集合
(请关注 本人"集合总集篇"博文--<详解 集合框架>) 首先,本人来讲解下 Collection集合的继承体系: Collection集合 的继承体系: Collec ...
- 浅析CopyOnWriteArrayList
CopyOnWriteArrayList引入 模拟传统的ArrayList出现线程不安全的现象 public class Demo1 { public static void main(String[ ...
- Laravel - 上手实现 - 文件上传、保存到 public 目录下
1.为了访问方便,将上传的文件保存在 public 目录下,需要进行修改配置. 找到 config/filesystems.php 文件然后修改 root.具体如下: 'local' => [ ...
- react: typescript import images alias
1.webpack.config.js resolve: { extensions: ["ts", "tsx", "js", "j ...