数位dp
文章平均质量分 59
hans774882968
这个作者很懒,什么都没留下…
展开
-
ICPC20上海C——小白也能秒懂的数位dp讲解
dp定义有很多种。采用这个最直观的:添加链接描述 i&j=0,意味着相加不会进位。log2(i+j)+1向下取整,意味着它等于i、j中的最长len值。 接下来为了解决原问题,我们定义一个更为简单的子问题为: ∑i=0X∑j=[i=0]Y[i&j=0] \sum_{i=0}^X \sum_{j=[i=0]}^Y [i\&j=0] i=0∑Xj=[i=0]∑Y[i&j=0] 为什么做此定义?以up1=up2=1(注:对应已知的数位dp模板的up变量,比如hdu2089,见下文原创 2021-07-11 10:49:46 · 204 阅读 · 0 评论 -
lc1215——来讨论一个数位dp解法!
非常水,直接暴力判定即可。但如果把题目改成:求1e18范围内的“步进数”个数,则可以数位dp。数位dp思路和loj10164、loj10165很像,考虑上一位,在已知的数位dp的dfs模板上面修改即可。 dp[idx,i]记录的是恰好是idx+1位数(即没有前导0,且范围为10……0~99……9),且上一个数选择了i的答案。因此要引用dp或修改dp的时候,要保证“!isup && !zero”成立。前者保证范围上限达到99……9,后者保证当前没有前导0干扰。具体的dfs看代码叭。 由于这题.原创 2021-07-03 17:50:03 · 198 阅读 · 0 评论