待修改 nyoj 412 又是一个遗留问题

时间:2022-11-29 10:09:59

测试的数据都正确啊,跟别人正确代码也对比了一下,一直wrong ans,这道题是搞不定了,思路是这样的,一个int 的数,

例如 一个数的二进制是1001100,那么大于这个数的最小的有相同个数1的数是都少?

我的思路是这样:既然最小那么我就每次加一试试:,然后判断1个数是否相同,以上个数为例。

10011_01 10011_10 10011_11    到此为止,1的个数一直在增加

添加多少1呢? 添加在哪里呢?

10100—00 中1的位置,到 1001100中1的位置。为   5-3-1=1;

所以加一个1,最小当然添加在最后一位了。如果是2呢,则添加在最后两位。总之添加在最低位,

1010001

不细说了,同学们可以不断的加一观察很快就发现了。

ps:   x&-x表示最低位1的权值,具体讨论可以做一下树状数组。

#include<iostream>
#include<math.h>
//x&-x 为x的二进制中最低位1的权值 列: 110010为 2 11100为4 ,所以 log2(4)表示最低位1在第2位
using namespace std;
int lowbit(int n)
{
return log(n&-n)/log(); }
int main()
{
int n;
while(cin>>n)
{
int pos1=lowbit(n); int n2=lowbit(n+n&-n);
//cout<<"hello"<<pos1<<n2<<endl;
int ne=n+(n&-n); int count=n2-pos1-;
int a=;
for(int i=;i<count;i++)
{
ne+=a;
a=a<<; }
cout<<ne<<endl; } return ;
}

待修改 nyoj 412 又是一个遗留问题的更多相关文章

  1. 返回一个集合对象,同时这个集合的对象的属性又是一个集合对象的处理方法(ViewModel)

    如果遇到需要返回一个集合对象,其中该集合中的属性又是一个集合.第一种:可在考虑用外键关联,比如在控制器中可以采用预先加载的方式加载关联的数据,比如 RoleManager.Roles.Include& ...

  2. 又是一个愚蠢的错误,皆因&period;xml而起

       论java中的.xml到底有多坑?! 感觉自己都快哭了,再一次被.xml给坑了一下,这次坑的太狠了,一下子导致自己浪费了昨天一下午,一晚上,今天一上午和半个下午呀,中间的过程真的是乏善可陈呀,各 ...

  3. &lbrack;Flash 3D&rsqb; 又是一个难题解决了。&lpar;Flash3D在android中运行&rpar;

    做了一些away3D(4.1.6)+Flash cc,项目比较大,面数多达2000万个,发现电脑还有跑20多帧,可见away3d表现确实相当不错.想把这些东西放到手机上来看,却发现总是白屏,网上搜索了 ...

  4. fastJSON☞JSONParameters☞时区的修改☞时间最后有一个&quot&semi;Z&quot&semi;

    why... 为什么会有这个问题; 由于近期用到需要将数据序列化... 最终选择了fastJSON(版本为1.)来实现. 但是发现了一个问题,表中有一个dateTime类型的字段, 本来数据库中存入的 ...

  5. 又是一个MVP&plus;RxJava&plus;Retrofit的干货*

    欢迎访问我的个人博客 ,未经允许不得转发 前言 今天想要与大家一起分享的是近一个星期内开发的一个新app--干货*客户端,其实网上已经有许多类似的项目,代码家也在他的干货*中推荐了几款优秀的作 ...

  6. 又是一个Notepad&plus;&plus;的问题

    昨天刚刚解决了Style Configurator无法保存的问题,今天继续解决另一个. 装好Notepad++之后,可以在右键菜单里面看到 Edit With Notepad++,win7里面挺好用的 ...

  7. nyoj 412 Same binary weight ()

    Same binary weight 时间限制:300 ms  |  内存限制:65535 KB 难度:3   描述 The binary weight of a positive  integer ...

  8. 如何只修改EFLAGS寄存器中一个标志位的值?

    版权声明:本文为博主原创文章,2019-08-23,22:21:42转载请附上原文出处链接和本声明.作者By-----溺心与沉浮----博客园   1.写汇编指令只影响CF位的值(不能影响其他标志位 ...

  9. Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

    Python经典练习题 网上能够搜得到的答案为: for i in range(1,85): if 168 % i == 0: j = 168 / i; if i > j and (i + j) ...

随机推荐

  1. 【Java多线程】JUC包下的工具类CountDownLatch、CyclicBarrier和Semaphore

    前言 JUC中为了满足在并发编程中不同的需求,提供了几个工具类供我们使用,分别是CountDownLatch.CyclicBarrier和Semaphore,其原理都是使用了AQS来实现,下面分别进行 ...

  2. jQuery的插入

    append(content) 概述 : 向每个匹配的元素内部追加内容. 这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似 append(function(index ...

  3. 01-Git简介和仓库创建

    Git简介 Linus的第二个伟大作品.2005年由于BitKeeper软件公司对Linux社区停止了免费使用权.Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了. 目前使用Git ...

  4. 美团小程序框架mpvue蹲坑指南

    美团小程序框架mpvue(花名:没朋友)蹲坑指南 第一次接触小程序大概是17年初,当时小程序刚刚内侧,当时就被各种限制折腾的死去活来的,单向绑定, 没有promise,请求数限制,包大小限制,各种反人 ...

  5. &quot&semi;Error&colon; &lbrack;&dollar;compile&colon;multidir&rsqb; Multiple directives

    angularjs 中控制台报"Error: [$compile:multidir] Multiple directives错误 可以在当前html元素之上增加父元素,在父元素中加入第二个指 ...

  6. App&period;Config自定义配置节点

    配置文件: <?xml version="1.0" encoding="utf-8"?> <configuration> <con ...

  7. &period;Net MVC 自定义Action类型,XmlAction,ImageAction等

    MVC开发的时候,难免会用到XML格式数据,如果将XML数据当作字符串直接返回给前台,其实这不是真正意义上的xmL,你可以看到ContentType是text/html而非XML类型,这往往会造成前端 ...

  8. JDBC插入数据实例

    在本教程将演示如何在JDBC应用程序中向数据库的一个表中插入数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中数据库表中插入数据记录. 要执行以下示例, ...

  9. 百度&comma;谷歌&comma;360&comma;搜狗&comma;神马等蜘蛛IP段

    https://www.imydl.com/wzjs/5971.html 记得3月份的时候明月分享过一篇[站长必备:百度.谷歌.搜狗.360等蜘蛛常见IP地址]的文章,好像一直都受到了众多站长们的关注 ...

  10. 6、tornado

    3反射(reflect) tornado是一款异步非阻塞高效的web框架 自定制session.form.auth,以及第三方ORM框架sqlachme