瓶颈:对2进制不敏感,没有简化题意。没有想到通过操作的性质设计状态。(其实第一步就卡住了orz)
"令 d 为 w 的质因数分解中 2 的次数"那么d其实就是w的二进制下末尾0的个数。
设c为$w=sumlimits2^{k_i}$中的最小$k_i$,那么最大的能够整除w的2的整次幂就是$c$
于是确定1.记录末尾0的个数。
由于+1进位,确定2.要状压
“对于 100% 的数据,x ≤ 10^9, n ≤ 200, 0 ≤ p ≤ 100。” 发现操作数很少,如果我们状压8位(256),那么至多进位1次。
YY一下进位,末尾连续一串1变0,连续一串1的最前面的0进1。那么如果只进位一次的话,第9位是0第8为是1的进位情况我们就不用管第10及前面有多少1,也没有前面的进位情况,这样我们就不用关心9位后的具体状态。3.只记录9位0/1和从9位向前的连续位数。
进而分类转移,比较好写,说明概括而清晰的状态定义是dp关键的一步。