Codeforces div.2 B. The Child and Set
题目例如以下:
1 second
256 megabytes
standard input
standard output
At the children's day, the child came to Picks's house, and messed his house up. Picks was angry at him. A lot of important things were lost, in particular the favorite set of Picks.
Fortunately, Picks remembers something about his set S:
- its elements were distinct integers from 1 to
limit; - the value of was equal to
sum; here lowbit(x) equals
2k where
k is the position of the first one in the binary representation of
x. For example, lowbit(100102) = 102, lowbit(100012) = 12, lowbit(100002) = 100002
(binary representation).
Can you help Picks and find any set S, that satisfies all the above conditions?
The first line contains two integers: sum, limit
(1 ≤ sum, limit ≤ 105).
In the first line print an integer n
(1 ≤ n ≤ 105), denoting the size of
S. Then print the elements of set
S in any order. If there are multiple answers, print any of them.
If it's impossible to find a suitable set, print
-1.
5 5
2
4 5
4 3
3
2 3 1
5 1
-1
这道题求出二进制的低位(从最先出现1的位置截断),事实上就是位运算。恰好我不熟悉位运算。罪过啊。。
。于是恶补了位运算,求二进制低位用i&-i,求最后以为i&1,左移i<<1,右移i>>1,然后从limit枚举。假设小于sum,就增加答案中.
自己的代码太丑了。粘贴一下别人的美丽的代码:
最新文章
- JQuery Ajax调用asp.net后台方法
- HTML5之sessionStorage
- 问题解决——Win7 64 安装 AutoCAD 2010 32位 和 清华天河PC CAD
- SQL Server编程(05)游标
- MVC MVVM Knockout viewmodel 提交 完整过程,包含序列化 JSON 和 字典模型绑定
- WebService的发布及客户端的调用
- Android LogCat 日志记录
- JavaScript高级程序设计59.pdf
- C#使用seleium实现一个自动登录器
- 使用Generator 自动生成 model mapper mapping 文件
- mysql批量插入语句执行失败的话,是部分失败还是全部失败
- vue处理异步请求
- [luogu4479][BJWC2018]第k大斜率【二维偏序+二分+离散化+树状数组】
- VC里判断系统是不是64bit
- echarts入门
- Cocos Creator学习四:按钮响应事件
- uva-993-贪心
- 符合Chrome58的证书制作
- Python接口自动化--post提交的四种数据类型 4
- Http请求中Content-Type讲解