您的位置:首页 > 其它

11/12训练日记 数位dp专题结束

2017-11-12 22:50 225 查看
今天翻看数位dp的课件,有些类型也有了自己的理解,基本上能够出几道题了,

像这个专题的题也是有模板题的,有的是加个简单的二分然后直接套模板就可以

有的也需要思考很多方面,有上限有下限了,条件稍不留神就容易看错导致出不题

1.数位DP需要较为熟练的记忆化搜索作为基础,虽然有的题可以直接用循环进行状态转移,但记忆化搜索的状态转移更常用更容易理解

2.时刻记住:abcd这个四位数 = a*1000+b*100+c*10+d

3.关于dp状态的保存,一般一维都是保存数字在整个数中的位置(数位),然后根据题目给定的数字的性质确定二维三维要保存什么状态

感觉数位DP的关键就在于状态的保存(当然状态转移也很重要)一般而言,dp[i][j][k]表达的信息是:具有i性质,j性质,k性质的数的个数

4.在记忆化搜索的过程中,对于数字abcd,搜索是从左往右搜索,但实际上计算是从右往左计算的(递归原理)

5.数位DP需要注意所搜索的范围不能大于原本被视作字符串的那个数字(这个在记忆化搜索中常表现为一个变量标记上界)

同时有时候0的情况也需要特别注意(具体情况具体分析吧)

6.数位DP刚刚入门的时候觉得很难,做多了觉得万变不离其宗,代码长得都差不多,都是套路,唯一的变化也就是定义的数的属性不一样

所以感觉数位DP的难点也就是状态的保存,针对题目给的性质保存相应的状态

7.多做题 多做题 多做题

推荐几个博客,感觉很不错
http://blog.csdn.net/wust_zzwh/article/details/52100392 https://www.cnblogs.com/zbtrs/p/6106783.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: