数位DP
11011b
你配不上自己的野心,也辜负了曾经历的苦难
展开
-
Codeforces 1245F Daniel and Spring Cleaning(数位DP)
题目链接:Daniel and Spring Cleaning题意:求区间[l,r]内(0<=l<=r<=10^9)a xor b== a+b的(a,b)对数题解:我们化简下题意可以发现就是求区间内内异或和为0的(x,y)数量,用[L,R]<->[L,R]表示l属于第一个区间,r属于第二个区间的合法方案数,那么可以得出以下结论[L,R]<->[L,R]=([0,R]<->[0,R])+([0,L-1]<->[0,L-1])-2*([0原创 2022-04-06 21:19:55 · 286 阅读 · 0 评论 -
Codeforces 1073E Segment Sum(数位DP)
题目链接:Segment Sum题意:求区间[l,r] (1≤l≤r<10^18) 内,符合以下条件的数的和:满足[0,9]中数字出现不超过k(1≤k≤10)个题解:一看这个题目就能联系到数位DP,刚开始直接用数位DP,在储存部分我用了mp记录,结果过不去,看了题解后发现数位DP的一个神奇用法,我们可以在经典数位DP的基础上把每次的返回值改成一个pair<ll,ll>,分别储存当前状态下往下能搜的方案数量,借助方案数量我们可以知道每一次转移时枚举的位数在总和中的贡献(我们将一个原创 2022-03-30 22:59:42 · 339 阅读 · 0 评论