待修改 nyoj 412 又是一个遗留问题
测试的数据都正确啊,跟别人正确代码也对比了一下,一直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 又是一个遗留问题的更多相关文章
- 返回一个集合对象,同时这个集合的对象的属性又是一个集合对象的处理方法(ViewModel)
如果遇到需要返回一个集合对象,其中该集合中的属性又是一个集合.第一种:可在考虑用外键关联,比如在控制器中可以采用预先加载的方式加载关联的数据,比如 RoleManager.Roles.Include& ...
- python基础练习题(一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?)
day2 --------------------------------------------------------------- 实例003:完全平方数 题目: 一个整数,它加上100后是一个 ...
- 又是一个愚蠢的错误,皆因.xml而起
论java中的.xml到底有多坑?! 感觉自己都快哭了,再一次被.xml给坑了一下,这次坑的太狠了,一下子导致自己浪费了昨天一下午,一晚上,今天一上午和半个下午呀,中间的过程真的是乏善可陈呀,各 ...
- [Flash 3D] 又是一个难题解决了。(Flash3D在android中运行)
做了一些away3D(4.1.6)+Flash cc,项目比较大,面数多达2000万个,发现电脑还有跑20多帧,可见away3d表现确实相当不错.想把这些东西放到手机上来看,却发现总是白屏,网上搜索了 ...
- fastJSON☞JSONParameters☞时区的修改☞时间最后有一个"Z"
why... 为什么会有这个问题; 由于近期用到需要将数据序列化... 最终选择了fastJSON(版本为1.)来实现. 但是发现了一个问题,表中有一个dateTime类型的字段, 本来数据库中存入的 ...
- 又是一个MVP+RxJava+Retrofit的干货集中营
欢迎访问我的个人博客 ,未经允许不得转发 前言 今天想要与大家一起分享的是近一个星期内开发的一个新app--干货集中营客户端,其实网上已经有许多类似的项目,代码家也在他的干货集中营中推荐了几款优秀的作 ...
- 又是一个Notepad++的问题
昨天刚刚解决了Style Configurator无法保存的问题,今天继续解决另一个. 装好Notepad++之后,可以在右键菜单里面看到 Edit With Notepad++,win7里面挺好用的 ...
- nyoj 412 Same binary weight ()
Same binary weight 时间限制:300 ms | 内存限制:65535 KB 难度:3 描述 The binary weight of a positive integer ...
- 如何只修改EFLAGS寄存器中一个标志位的值?
版权声明:本文为博主原创文章,2019-08-23,22:21:42转载请附上原文出处链接和本声明.作者By-----溺心与沉浮----博客园 1.写汇编指令只影响CF位的值(不能影响其他标志位 ...
随机推荐
- WPF获取控件的句柄
在WinForm中,获得句柄是一件很容易的事情,This.Handle或者Control.Handle就可以,最近在WPF的开发中发现找不到这个属性,一番查找资料后找到了两种方式. 1,使用Windo ...
- javascript-代码复用模式
代码复用模式 1)使用原型继承 函数对象中自身声明的方法和属性与prototype声名的对象有什么不同: 自身声明的方法和属性是静态的, 也就是说你在声明后,试图再去增 ...
- apt-get命令讲解
apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统. apt-get是debian,ubuntu发行版的包管理工具 ...
- [Gauss]POJ1830 开关问题
中文题 题意不多说 这题乍一看 就是求个自由未知量个数 相当简单 其实呢 其中要注意的细节还是很多的: 1.光求了自由未知量个数 还不够 ∵求的是可行方案的总数 因此 答案是 2^(自由未知量个数) ...
- Strut2 和Spring MVC 文件上传对比
在Java领域中,有两个常用的文件上传项目:一个是Apache组织Jakarta的Common-FileUpload组件 (http://commons.apache.org/proper/commo ...
- API:System V & POSI
http://blog.sina.com.cn/s/blog_5b1572e30100gulz.html
- iOS上获得MAC地址
很多时候我们都需要唯一来确定一台设备,苹果设备本来有个UDID号,可以实现这个目的.在iOS5.0以前,还有一个uniqueIdentifier的API用来获得这个number.不过iOS5之后,这个 ...
- 学习笔记-[Maven实战]-第二章:Maven安装和配置
在windows上安装Maven 1.检查JDK安装:在CMD下运行以下命令来检查JAVA安装情况: 命令: C:\Documents and Settings\Administrator>ec ...
- 1uboot移植要点[原创☆☆]
----- 一:我们先来了解下实际内存: nand.nor.ram. 所以从CPU是从那部分启动的呢? 答:要看主控芯片的boot如何设置(正如分的启动方式和下载方式一样). uboot:sd卡→iR ...
- make menuconfig出错
make[1]: *** [scripts/kconfig/mconf] Error 1 make: *** [menuconfig] Error 2 fixed: sudo apt-get inst ...