题意 : 一个十进制整数被叫做权势二进制, 当他的十进制表示的时候只由0或1组成。例如0, 1, 101, 110011都是权势二进制而2, 12, 900不是。当给定一个n (1<=n<=1,000,000)的时候, 计算一下最少要多少个权势二进制相加才能得到n。

分析 : 由于权势二进制可以在任意一位构造出1或者0, 那我就可以让每一位都在同时减1, 直到某一位变成0, 继续减其他位, 直到全部都等于0。例如 23303, 可以先构造11101进行相减, 使得除了零外的每一位都减1, 减两次后会变成 01101, 此时再减一次1101即可, 可以看出减的次数取决于这个数中最大的位数, 比如23303就是3, 8889就是9......而减的次数也就是题目所求的最少相加次数。

瞎搞 : 完全没看出考查思维……然后先是进制转化构造出了1,000,000内所有的权势二进制, 最后发现二分查找+贪心无法解决, 一脸懵逼看了题解才发现居然如此巧妙。=_=

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<algorithm>
using namespace std;

int main(void)
{
    char ch;
    ;
    while( (ch=getchar()) && ch!='\n' ){
        ' > Max ){
            Max = ch-';
        }
    }
    printf("%d\n", Max);
    ;
}

51Nod 1413 权势二进制 (思维)的更多相关文章

  1. 51nod 1413 权势二进制【进制思维】

    1413 权势二进制 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 一个十进制整数被叫做权势二进制,当他的十进制 ...

  2. 51nod 1413 权势二进制 背包dp

    1413 权势二进制 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB  一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成.例如0,1,101, ...

  3. 51nod 1413 权势二进制

    本来刚开始还是想用每一位 -1的个数 然后再乘以10  不断累加 后来发现 完全不是这回事啊  因为本身就是0 和 1 所以只要记录出现的最大的数字 就是答案  因为 n >= 1 // 所以不 ...

  4. 51nod 1413:权势二进制

    1413 权势二进制 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 一个十进制整数被叫做权势二进制,当他的十进制 ...

  5. 权势二进制(51Nod 1413)

    一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成.例如0,1,101,110011都是权势二进制而2,12,900不是. 当给定一个n的时候,计算一下最少要多少个权势二进制相加才能 ...

  6. POJ 2777 Count Color (线段树成段更新+二进制思维)

    题目链接:http://poj.org/problem?id=2777 题意是有L个单位长的画板,T种颜色,O个操作.画板初始化为颜色1.操作C讲l到r单位之间的颜色变为c,操作P查询l到r单位之间的 ...

  7. 51nod 1273 旅行计划——思维题

    某个国家有N个城市,编号0 至 N-1,他们之间用N - 1条道路连接,道路是双向行驶的,沿着道路你可以到达任何一个城市.你有一个旅行计划,这个计划是从编号K的城市出发,每天到达一个你没有去过的城市, ...

  8. Neko Performs Cat Furrier Transform CodeForces - 1152B 二进制思维题

    Neko Performs Cat Furrier TransformCodeForces - 1152B 题目大意:给你一个x,在40步操作以内把x变成2m−1,m为非负整数.对于每步操作,奇数步可 ...

  9. 51nod 1413

    思路: 直接在串里找个最大的值就好了: #include <cstdio> #include <cstring> #include <cstdlib> #inclu ...

随机推荐

  1. 网站换VPS wdcp操作记录

    http://www.wdlinux.cn/bbs/thread-2795-1-1.html 分种情况1 从别的环境迁移到wdcp的环境2 从老的wdcp迁移到新的wdcp环境 对于第一个,没有较好的 ...

  2. tableau备份

    备份:数据库备份:https://help.tableau.com/current/server-linux/zh-cn/cli_maintenance_tsm.htm#tsm https://hel ...

  3. Ubuntu 19.04 下使用Remmina连接window服务器部署maven项目

    先将打包好的war包上传到tomcat的webapps目录下 如果配置了tomcat的虚拟路径,那就放进虚拟路径的webapps文件李 修改tomcat安装目录下的conf/server.xml文件 ...

  4. Java -cp命令的使用

    服务器跑程序,用到了一些Linux命令,做个简单笔记. Linux(Mac)下 java -cp .:jar包路径 主类的全限定名称     全限定名有绝对路径的意思,比如一个文件file的存放路径, ...

  5. VeryNginx故障排除

    在安装和使用 VeryNginx 的过程中可能会遇到一些问题,下面列举了常见的问题及对应的解决方案,供参考. Q: run "python instal.py install all&quo ...

  6. 7.jQuery之显示与隐藏效果

    这里用到三个函数方法:show()   hide()  toggle() 注意点是三个方法里面的两个参数的使用,前一个参数是时间,表示显示速度:后一个参数是回调函数,只有前面的动画执行完之后,回调函数 ...

  7. css 超出部分显示省略号 汇总

    单行: 加宽度 overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 多行: display: -webkit-box; -we ...

  8. Fliter设置字符编码,解决中文问题

    class EncodingFilter implements FileFilter{ private String encoding; @Override public boolean accept ...

  9. element-ui 中 switch 开关绑定number 的解决方法

    虽然element-ui 的文档中说明 v-model的值可以是 boolean / string / number 三种类型 , (文档在此)https://element.eleme.cn/#/z ...

  10. js 不常用面试题 数组对象深度取值

    function getPersonInfo(one, two, three) { console.log(one); console.log(two); console.log(three); } ...