今天学习了LC周赛最后一题是一道数位DP+KMP的题目5371. 找到所有好字符串,借此机会花了一下午学习了数位DP,写了几道洛谷和HDOJ上的题,算是基本了解了数位DP。然后又回头去补这道题目,最终疯狂WA,最后发现是KMP算法中对next数组的第0位和第1位以及结果是0的位置没有初始化,在LC上设置为全局变量时会被上一次的NEXT数组覆盖。修改了此处之后,最后终于AC了!!!!!!
总结一下
- 数位DP就是计算从0-n这个范围内的所有不满足一个条件的数的个数。对于边界值特别处理。以及对于中间过程中满足f()的也要特别处理,写几题就有感觉了。
- 像KMP这种算法还是多多套模版吧,手写着写着出个BUG一检查就是一晚上= =