已完成xor与+1运算大学习
门
考虑每次+1的作用:把低位到高位的一段1变成0 那么对于这个前缀,就有三种情况,并且变化是形如 1->(2)->3 的:
- 整个前缀是S的前缀
- 刚成为进位的牺牲品,全是0
- 整个前缀搞成T的前缀了
考虑每个前缀的初态与末态:
- 初态:情况1,2
- 末态:情况2(0结束,进1位),3(钦定不动)
同时,在他没有因为进位归0时,我们只要知道每个
据此,记录
考虑对第i位的转移:
- 如果直接可以转移,就直接转移,式子显然。
- 如果进行了进位:整个的状态(2为上文的0情况)就是j0->2->2->...->j1的状态,条件是不能上到
i+1 位。
每个
然后发现这是类最短路形式,跑个dij转移就行了。