POJ3252 Round Numbers
题目描述:
给定一个区间 [ l , r ] [l,r] [l,r],问 l l l到 r r r的整数中有几个转换成二进制数后 0 0 0比 1 1 1多(不计前导零).
分析:
要求 [ l , r ] [l,r] [l,r]中的整数中有几个转换成二进制数后 0 0 0比 1 1 1多,可以通过求 [ 1 , r + 1 ] − [ 1 , l ] [1,r+1]-[1,l] [1,r+1]−[1,l]来转换, 即小于 r + 1 r+1 r+1的符合题意的数量 − - −小于 l l l的符合题意的数量 = l l l到 r r r的符合题意的数量。
要求 [ 1 , k ] [1, k] [1,k]的答案,可以进行分类讨论。
设 k k k转化成二进制以后是 l e n len
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
