P2320 [HNOI2006]鬼谷子的钱袋

题目描述

输入输出格式

输入格式:

输出格式:

输入输出样例

输入样例#1:

3

输出样例#1:

2
1  2

我想说这题的第一问也就是需要多少钱袋,可以o(1)的时间做出来,取log2(n)+1就好,因为这个题是在二进制的基础上运算的
 1 #include<cstdio>
 2 #include<cmath>
 3 #include<algorithm>
 4 using namespace std;
 5 const int MAXN=10000000;
 6 int wallet[MAXN];
 7 int num=1,i;
 8 int main()
 9 {
10     int n;
11     scanf("%d",&n);
12     printf("%d\n",(int)log2(n)+1);
13     for(i=1;i<=n;i=i*2)
14     wallet[num++]=i,n-=i;
15     if(n>0)wallet[num++]=n;
16     sort(wallet+1,wallet+num);
17     for(int i=1;i<num-1;i++)
18         if(wallet[i]==wallet[i+1]&&wallet[i]!=1)
19         wallet[i]--,wallet[i+1]++;
20     for(int i=1;i<=num-1;i++)
21         printf("%d ",wallet[i]);
22     return 0;
23 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端黑板报

Javascript即将迎来Optional Chaining

Optional Chaining 现在处于 Stage 1。 它是什么? Optional Chaining 使我们能检查一个对象上面是否存在某属性。其它一些...

37750
来自专栏我杨某人的青春满是悔恨

深入理解 weak-strong dance

这时handler持有 Block 对象,而 Block 对象虽然捕获了weakSelf,延长了weakSelf这个局部变量的生命周期,但weakSelf是附有...

13640
来自专栏Jackson0714

PHP内核之旅-3.变量

16240
来自专栏哲学驱动设计

重构一个繁琐的数据结构

    在GIX4项目的开发过程中,遇到一个比较复杂的数据结构。复杂,是因为它有许多限制条件。我的工作是在现有系统中,添加新的功能,并在过程中重构部分旧代码。 ...

254100
来自专栏Jimoer

在Java的反射中,Class.forName和ClassLoader的区别

最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来...

17620
来自专栏数据结构与算法

BZOJ2882: 工艺(后缀数组)

6910
来自专栏跟着阿笨一起玩NET

C# TextBox 扩展方法数据验证

      查看公司项目代码时,存在这样一个问题:winform界面上有很多信息填写,提交后台服务器更新,但数据的合法验证及值的转换却不太敢恭维,一堆的if判断...

13010
来自专栏恰童鞋骚年

.NET基础拾遗(1)类型语法基础和内存管理基础

在.NET中所有的内建类型都继承自System.Object类型。在C#中,不需要显示地定义类型继承自System.Object,编译器将自动地自动地为类型添...

12120
来自专栏博客园

Core官方DI解析(4)--CallSiteRuntimeResolver

​ CallSiteRuntimeResolver类型是一个创建或获取服务实例的类型,这个类型继承了CallSiteVisitor<TArgument, TRe...

10610
来自专栏开发与安全

算法:静态查找表(Static Search Table)(顺序查找、二分查找、插值查找、斐波纳契查找)

查找表(Search table)是由同一类型的数据元素(或记录)构成的集合。关键字(key)是数据元素中某个数据项的值,又称为键值,用它可以表示一个数据元素,...

25850

扫码关注云+社区

领取腾讯云代金券