[专题总结]数位DP

总结:

1:第i个数符合要求了,所以接下来的数都可以。如果没限制, 那么是有  10i-1  个。如果有限制,那么是   (nowx % 10i-1)+1  

2:两种状态设置

                         有设状态d                                              没设状态d

含义                  d开头的i位数..                                          所有i位数..

写法差别         end = ...?num[i-1]:9                            end = ...?num[i]:9

注意点                      /                         在循环中出现即时计算时,判断限制的条件为(isQuery && j==end)

3:此类DP,考虑转移的时候,应当 同时考虑查询 时候的情况

4这里的记忆化搜索不太一样喔, 出口一定要写在递归 里,不然,查询状态下差到出口就会出错了~

5:特别小心,检查是否与 前导0 有关。如果与之有关, 应该也设在状态里。

6:如果时间允许,可以用 时间复杂度 编程复杂度(多设一维)~             如此题

可当模板的:http://www.cnblogs.com/shinecheng/p/3601235.html

posted on 2014-03-14 20:32  ShineCheng  阅读(144)  评论(0编辑  收藏  举报

导航