【20181031T2】几串字符【数位DP思想+组合数】
【错解】
一眼数位DP
设\(f(i,c00,c01,c10,c11)\)……
神tm DP
哎好像每两位就一定对应c中的一个,那不用记完
所以可以设\(f(i,c00,c01,c10)\)……
神tm DP
也发现用c可以算出0和1有多少个、多少段,可以组合数,但感觉细节太多,没有细想(主要是想肝T3)
【正解】
如上所述,不难看出C00+C10=(0的个数),C10=(0的段数),C01+C11+1=(1的个数),C01+1=(1的段数)
然后类似数位DP的过程跑一遍,顺便记一下0、1的个数、段数
每次如果下一位是1,那么强制使他=0,然后后面随便填,相当于球盒问题
细节地方写了注释