好了,我的数论渣爆了………… 首先[n,m]内的round number显然就是f[m]-f[n-1] 即问0~x内有多少round number: 设x的二进制位数为t: 首先很好分析出在这个范围 若某数的二进制位数<t,则首位1不动,后面组合即可: 然后被卡在当二进制位数为t的round number有多少这招情况: 后来看了别人的解题报告才恍然大悟: 对于x,不算首位的1,只要把当前某一个1改成0,并对后面位数重新01组合就一定小于x, 于是 对于x的每一位1,对后面重新组合即可 显然最终…