数位dp题目总结
创始人
2025-05-31 17:29:17
0

数位dp

题目知识点难度
2376. 统计特殊整数数位dp模板困难
600. 不含连续1的非负整数数位dp困难
233. 数字1的个数数位dp模板题困难
902. 最大为N的数字组合数位dp模板题目困难
数字1的个数mask记录数字x的个数
acwing 1081 度的数量使用进制思想 + 每一位是1或者0。mask记录1的个数
acwing 1082、1083 ,1085Mask记录前位的数是多少
acwing 1084mask记录前面数字的和

数位dp做题思路

先将[a, b]区间改成从[0, a], [0, b]的单个计算。然后做差

其次使用标准模板代码就行了

标准模板代码,根据题目限定的条件,修改pre这一个状态变量就行了。

常见的状态变量有

  1. 前一位,这个题目中有相邻位之间约数的情况。比如 acwing的1082, 1083, 1085
  2. 位数之和,参考acwing 1084的情况
  3. mask,1-9中数字不能重复。mask记录选择了那个数字
  4. cntxcnt_xcntx​ , x出现的次数,用于统计出现的次数。 参考数字1的个数
    private static int dfs(int cur, int pre, boolean isNum, boolean isLimit) {if (cur == s.length) {return isNum ? 1 : 0;}// 记忆化int res = dp[cur][pre];if (isNum && !isLimit && res >= 0)return res;res = 0;// 不是数字,可以跳过if (!isNum) res += dfs(cur + 1, pre, false, false);// 枚举是数字的情况int up = isLimit ? s[cur] - '0' : 9;for (int i = isNum ? 0 : 1; i <= up; i++) {if (i == 4 || (pre == 6 && i == 2)) continue;res += dfs(cur + 1, i, true, isLimit && i == up);}// 记录if (!isLimit && isNum) dp[cur][pre] = res;return res;}

相关内容

热门资讯

间断的近义词   一、【近义词】  中断、中止、拆开、休止  二、【基本解释】  [释义](动)(连续的事情)中间...
乡壁虚造的近义词 乡壁虚造的近义词有:凭空捏造,无中生有,面壁虚构,乡壁虚造[xiāng bì xū zào]的意思:...
盎盂相敲的近义词 盎盂相敲的近义词有:盎盂相击,盎盂相敲[àng yú xiāng qiāo]的意思:比喻一家人争吵。...
高枕而卧的近义词 高枕而卧的近义词有:无忧无虑,高枕安卧,高枕安寝,高枕无忧,高枕而卧[gāo zhěn ér wò]...
破题儿第一遭的近义词 破题儿第一遭的近义词有:破题儿,破题儿头一遭,破题儿第一遭[pò tí ér dì yī zāo]的...
如堕烟海的近义词 如堕烟海的近义词有:如坐云雾,如堕烟雾,雾里看花,如堕烟海[rú duò yān hǎi]的意思:好...
雁杳鱼沉的近义词 雁杳鱼沉的近义词有:信断音绝,雁断鱼沉,雁逝鱼沉,雁杳鱼沉[yàn yǎo yú chén]的意思:...
汪洋大海的近义词 汪洋大海的近义词有:东洋大海,声势浩大,波澜壮阔,汪洋大海[wāng yáng dà hǎi]的意思...
明效大验的近义词 明效大验的近义词有:明验大效,明效大验[míng xiào dà yà]的意思:显著而又巨大的效验。...
难乎为继的近义词 难乎为继的近义词有:难以为继,难乎为继[nán hū wéi jì]的意思:难于继续下去。出自:清 ...
在所难免的近义词 在所难免的近义词有:在劫难逃,在所不免,在所无免,在所难免[zài suǒ nán miǎn]的意思...
恨入心髓的近义词 恨入心髓的近义词有:恨之入骨,恨之切骨,恨入骨髓,恨入心髓[hèn rù xīn suǐ]的意思:恨...
富翁的近义词 富翁的近义词  近义词:  大亨、财主  大亨:大亨 dàhēng[magnate;big wig;...
背本就末的近义词 背本就末的近义词有:背本趋末,背本逐末,背本就末[bèi běn jiù mò]的意思:指背离根本,...
问牛知马的近义词 问牛知马的近义词有:举一反三,触类旁通,问羊知马,闻一知十,问牛知马[wèn niú zhī mǎ]...
不通文墨的近义词 不通文墨的近义词有:不识之无,胸无点墨,不通文墨[bù tōng wén mò]的意思:通:精通;文...
发奋图强是不是褒义词 发奋图强是不是褒义词  下定决心,努力追求进步。小编收集了发奋图强是不是褒义词,欢迎阅读。  典故出...
修辞立其诚的近义词 修辞立其诚的近义词有:修辞立诚,修辞立其诚[xiū cí lì qí chéng]的意思:诚:真心实...
屡试屡验的近义词 屡试屡验的近义词有:屡试不爽,屡试屡验[lǚ shì lǚ yàn]的意思:验:有效果。多次试验,都...
一通百通的近义词 一通百通的近义词有:畅通无阻,一通百通[yī tōng bǎi tōng]的意思:一个主要的弄通了;...