Let LL denote the number of 1s in integer DD’s binary representation. Given two integers S1S1 and S2S2, we call DD a WYH number if S1≤L≤S2S1≤L≤S2. 
With a given DD, we would like to find the next WYH number YY, which is JUST larger than DD. In other words, YY is the smallest WYH number among the numbers larger than DD. Please write a program to solve this problem. 

InputThe first line of input contains a number TT indicating the number of test cases (T≤300000T≤300000). 
Each test case consists of three integers DD, S1S1, and S2S2, as described above. It is guaranteed that 0≤D<2310≤D<231 and DD is a WYH number. 
OutputFor each test case, output a single line consisting of “Case #X: Y”. XX is the test case number starting from 1. YY is the next WYH number.Sample Input

3
11 2 4
22 3 3
15 2 5

Sample Output

Case #1: 12
Case #2: 25
Case #3: 17 题目需要求的是比d大的且转化为二进制后1的个数在s1和s2之间的最小的数 开始想的是从d开始判断yi的个数分比s1小,在s1、s2之间(这里考虑的特别复杂),比s2大三种情况考虑,结果写了一大堆判断最后完美wa 后来在网上看别人的代码,是先让d+1,因为最后得到的数是比d大的,然后也是三种情况考虑,但是如果在s1、s2之间就可以直接输出,接着是比s1小则遇到0直接变成1,比s2大则遇到1变成0然后再一次进位
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<cmath>
#include<queue>
#define debug(a) cout << #a << " " << a << endl
using namespace std;
typedef long long ll;
int a[], j;
ll sum() {
ll ans = , t = ;
for( int i = ; i <= ; i ++ ) {
ans = ans + a[i] * t;
t *= ;
}
return ans;
}
int main() {
std::ios::sync_with_stdio(false);
int T, cnt = ;
cin >> T;
while( T -- ) {
cnt ++;
ll n, num = , x, y;
j = ;
cin >> n >> x >> y;
n ++;
memset( a, , sizeof(a) );
while( n ) {
if( n % == ) {
a[j++] = ;
num ++;
} else {
a[j++] = ;
}
n /= ;
}
while( ) {
if( num >= x && num <= y ) {
cout << "Case #" << cnt << ": " << sum() << endl;
break;
}
if( num < x ) {
for( int i = ; ; i ++ ) {
if( a[i] == ) {
a[i] = ;
num ++;
break;
}
}
} else {
int i = ;
while( a[i] == ) {
i ++;
}
a[i] ++;
while( a[i] == ) {
a[i] = ;
num --;
a[i+] ++;
i ++;
}
num ++;
}
}
}
return ;
}

hdu5491 The Next 模拟的更多相关文章

  1. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  2. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  3. Python 爬虫模拟登陆知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...

  4. HTML 事件(四) 模拟事件操作

    本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4.  ...

  5. 模拟AngularJS之依赖注入

    一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...

  6. webapp应用--模拟电子书翻页效果

    前言: 现在移动互联网发展火热,手机上网的用户越来越多,甚至大有超过pc访问的趋势.所以,用web程序做出仿原生效果的移动应用,也变得越来越流行了.这种程序也就是我们常说的单页应用程序,它也有一个英文 ...

  7. javascript动画系列第一篇——模拟拖拽

    × 目录 [1]原理介绍 [2]代码实现 [3]代码优化[4]拖拽冲突[5]IE兼容 前面的话 从本文开始,介绍javascript动画系列.javascript本身是具有原生拖放功能的,但是由于兼容 ...

  8. C++ 事件驱动型银行排队模拟

    最近重拾之前半途而废的C++,恰好看到了<C++ 实现银行排队服务模拟>,但是没有实验楼的会员,看不到具体的实现,正好用来作为练习. 模拟的是银行的排队叫号系统,所有顾客以先来后到的顺序在 ...

  9. MSYS2——Windows平台下模拟linux环境的搭建

    最近从MSYS1.0迁移到了MSYS2.0,简单讲,MSYS2.0功能更强大,其环境模拟更加符合linux.虽然本身来自cygwin,但其集成了pacman软件管理工具,很有linux范,并且可以直接 ...

随机推荐

  1. Python - 自学django,上线一套资产管理系统

    一.概述 终于把公司的资产管理网站写完,并通过测试,然后上线.期间包括看视频学习.自己写前后端代码,用时两个多月.现将一些体会记录下来,希望能帮到想学django做web开发的人.大牛可以不用看了,小 ...

  2. 【精选】Markdown 语法汇总

    博客园也能Markdown?美滋滋,Markdown真的是好用QAQ. 本文档按照Markdown各种常用语法类别,以文字描述+演示的方式来展现markdown语法的使用.Markdown 的目标是实 ...

  3. cs231n--详解卷积神经网络

    原版地址:http://cs231n.github.io/convolutional-networks/ 知乎翻译地址:https://zhuanlan.zhihu.com/p/22038289?re ...

  4. 身体质量指数BMI

    Solution: 方法一:"Python语言程序设计"(中国大学MOOC平台)的答案 分析:对比两种指标,将共性(相同的区间)和异性(不同的区间)细分.这样两种指标的判断条件(不 ...

  5. 数据结构与算法—二叉排序树(java)

    前言 前面介绍学习的大多是线性表相关的内容,把指针搞懂后其实也没有什么难度.规则相对是简单的. 再数据结构中树.图才是数据结构标志性产物,(线性表大多都现成api可以使用),因为树的难度相比线性表大一 ...

  6. 浅谈Http与Https

    大家都知道,在客户端与服务器数据传输的过程中,http协议的传输是不安全的,也就是一般情况下http是明文传输的.但https协议的数据传输是安全的,也就是说https数据的传输是经过加密. 在客户端 ...

  7. Kubernetes 再深入一点点

    kb master 运行如下容器 etcd 是 k8s 的核心, 主要负责k8s的核心数据处理及保存, 需要备份该数据,或者做集群 ,服务端口 2379(客户端服务) 2380(节点通信)kube-c ...

  8. 写论文的第三天 自建zookeeper集群

    日志___2019.1.25 基于hadoop集群搭建zookeeper集群 Filezilla上传zookeeper压缩包到主节点 安装zookeeper到/usr/local目录 命令:tar – ...

  9. django分页的写法,前端后端!

    django有一个自带的分页,虽然功能很全面,但是不适合我应用的场景,所以自己写了一个代码 拿走不谢! 应用的场景 : 1.最好是 django中使用 使用方法: 要的数据是( quesset 类型的 ...

  10. Mybatis-plus的两种分页插件的配置方式

    第一种: package com.paic.ocss.gateway.admin.config; import com.baomidou.mybatisplus.plugins.PaginationI ...