problem

把一个数n进行拆分
拆分出来大于一的数两两不等,使得拆出来的数可以组成[1, n]间的所有数
求最少拆成多少个数及拆分方案。n <= 1000000000。

solution

记得之前bz上好像水过这题,看了题解,答案就是二进制的位数,,,当时觉得好有道理,,然后就交了,,也没看。。。不过好像,不会证明还是,,,,

然后这次,,我还是全网都没找到证明,,所以继续占坑待填。。。。
讲个找规律的例子,比较好理解。

举个例子:
我们可以假象一下 若m=12 则需要求得组合方案有(1 2 3 4 ……12)
我们可以把他们分成两份 (1 2 …… 6) (7 8 ……12)称左边的为L 右边的为R
很容易得知R中的每种方案都可以由(12/2)+左边的组合得出
再次分成两份(1 2 3)(4 5 6)
同理 当m为奇数时 显而易见地 只需把 (m/2)改为(m/2+1) 即可

所以结论是:
表示n以内的任何数字可以用1到n/2内的数字
那么表示n/2以内的任何数字可以用1到n/4以内的数字……
答案就是不断n/2的结果。。(数值上等于二进制位数)

codes

#include<iostream>
using namespace std;
int t, a[100005];
int main(){int m;  cin>>m;while(m/2 != 0){t++;if(m%2 == 0)a[t] = m/2;if(m%2 == 1)a[t] = m/2+1;m /= 2;}cout<<t+1<<'\n'<<1<<' ';for(int i = t; i >= 1; i--)cout<<a[i]<<' ';return 0;
}

【HNOI2006】【Luogu2320】鬼谷子的钱袋(进制,玄学)相关推荐

  1. luogu2320 鬼谷子的钱袋

    题目大意 鬼谷子决定将自己的金币数好并用一个个的小钱袋装好,以便在他现有金币的支付能力下,任何数目的金币他都能用这些封闭好的小钱的组合来付账.求钱袋数最少,并且不有两个钱袋装有相同的大于1的金币数的装 ...

  2. 【HNOI2006】鬼谷子的钱袋

    本题在洛谷上的链接:https://www.luogu.org/problemnew/solution/P2320 做法和二进制划分很像,,,原来我的二进制划分一直有点问题(之前我是枚举2的n次方然后 ...

  3. 1192. [HNOI2006]鬼谷子的钱袋【进制】

    Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一 ...

  4. BZOJ 1192: [HNOI2006]鬼谷子的钱袋【二进制】

    1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MB [题目描述] 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派 ...

  5. BZOJ 1192 [HNOI2006]鬼谷子的钱袋 (思维)

    1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4650  Solved: 3242 [Submit][ ...

  6. bzoj1192 [HNOI2006]鬼谷子的钱袋

    1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2443  Solved: 1785 [Submit][ ...

  7. 1192: [HNOI2006]鬼谷子的钱袋

    1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3530  Solved: 2575 [Submit][ ...

  8. HYSBZ - 1192 鬼谷子的钱袋 (思维)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1192 题目: Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各 ...

  9. 鬼谷子的钱袋-rqnoj-228

    题目: 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一件宝物引起了他极 ...

  10. bzoj1992鬼谷子的钱袋(二分乱搞 二进制)

    1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3223  Solved: 2333 Descripti ...

最新文章

  1. [JavaScript] Math里的api
  2. asp.net断点续传技术
  3. ubuntu下搭建一个数据化处理的开发环境
  4. Leetcode 226. 翻转二叉树 (每日一题 20210819)
  5. 【练习】2021下半年数据结构刷题笔记和总结 (三)栈 队列 链表 枚举算法
  6. RabbitMQ MQTT协议和AMQP协议
  7. php文件上传详解,PHP文件上传实例详解!!!
  8. 微信小程序request请求动态获取数据
  9. 2018湖北技能高考计算机类学校,武汉船舶职业技术学院举行2018年湖北省技能高考...
  10. 语义分割之Deeplabv3源码解读
  11. 致谢计算机组成原理老师的致谢,计算机组成原理课程报告(40页)-原创力文档...
  12. Android 笔记
  13. jquery怎么创建一个img标签
  14. 24. yii2 表单赋值 model-load(), model-attributes 方法
  15. Freeswitch 录制视频并播放
  16. ASP.NET资源大全
  17. Cocoa Touch框架浅析
  18. 计算机美术教学应用,浅谈计算机在美术教学中的应用
  19. vue.js和vue.main.js下载地址
  20. mipi传输距离3米_弱电网络工程中网线大于100米怎么办?离300米远用什么线缆较好?...

热门文章

  1. Hadoop 基本数据类型
  2. typescript 怎么表示当前时间减一个月_吃什么减肚子最快最有效 4种刮油食物吃出小蛮腰...
  3. 财务有必要学python吗-工作三年却被实习生抢了饭碗,学会Python到底有多吃香?...
  4. 零基础学python图文版-如何快速创建投票页面 | 腾讯问卷怎么用_什么值得买
  5. 零基础学python-看完这篇,零基础也知道怎么学Python
  6. python3哪个版本稳定-python的哪个版本稳定
  7. python工资一般多少-Python工资多少?就业发展前景怎么样?
  8. python怎么使用-如何使用python进行第一个机器学习项目(详细教程篇)
  9. python基础教程视频-python从入门到精通之30天快速学python视频教程
  10. python软件下载安装-python安装最新下载_python安装绿色版 - 软件帝