题目名称 862. 二进制数01串
输入输出 kimbits.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 13
题目来源 Gravatarsywgz 于2012-07-09加入
开放分组 全部用户
提交状态
分类标签
USACO 动态规划 二分法
查看题解 分享题解
通过:23, 提交:53, 通过率:43.4%
Gravatarlihaoze 100 0.000 s 0.00 MiB C++
Gravatarlihaoze 100 0.000 s 0.00 MiB C++
GravatarEragon 100 0.003 s 0.32 MiB C++
GravatarAngel_Kitty 100 0.003 s 0.33 MiB C++
Gravatar任杰 100 0.003 s 0.33 MiB C++
Gravatarwfff 100 0.003 s 0.33 MiB C++
Gravatar_Horizon 100 0.003 s 0.33 MiB C++
GravatarDomacles 100 0.003 s 1.96 MiB C++
GravatarQILIN 100 0.004 s 0.32 MiB C++
Gravatar雪狼 100 0.004 s 0.32 MiB C++
关于 二进制数01串 的近10条评论(全部评论)
我的做法是二分(虽然慢成狗= =),详见代码
另:注意数据类型范围
Gravatarcstdio
2013-10-24 21:11 1楼

862. 二进制数01串

★★   输入文件:kimbits.in   输出文件:kimbits.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

考虑排好序的N(N<=31)位二进制数。

你会发现,这很有趣。因为他们是排列好的,而且包含所有可能的长度为N且含有1的个数小于等于L(L<=N)的数。

你的任务是输出第I(1<=I<=长度为N的二进制数的个数)大的,长度为N,且含有1的个数小于等于L的那个二进制数。

【输入格式】

共一行,用空格分开的三个整数N,L,I。

【输出格式】

共一行,输出满足条件的第I大的二进制数。

【输入样例】

5 3 19

【输出样例】

10011