数位 DP 做题记录
1|0数位 DP
数位 DP 的常见套路就是记录当前到哪一位,是否抵着上界,转移时枚举当前可以填哪些数,做一遍记忆化搜索。
1|1P3413 SAC#1 - 萌数
题意:求
思路:如果存在回文子串,那么必然有相邻两位相同或者间隔一位相同,在数位 DP 时额外记录前 2 位就可以了。
1|2CF1487F Ones
题意:给定一个正整数
思路:一看就像数位 DP,但是又跟普通数位 DP 不太像。
其实直接从高位到低位考虑,那么对当前位进行的操作有影响的只有之前位还剩下的需要抵消的和当前位已经要减多少,即设
现在的问题是确定
1|3P9129 [USACO23FEB] Piling Papers G
题意:给定长度为
思路:很新奇的数位 DP。
因为可以从前、后都加数字,这样传统的数位 DP 显然行不通了。我们发现
这样求出来的是每个前缀的答案,于是预处理出所有后缀的答案就可以
1|4P2518 [HAOI2010] 计数
题意:现在给定一个数,你可以删掉这个数中的任意多个数位 0
(或不删)并将其他的数位任意重新排序。请求出能产生出多少个不同的这个数小的数(注意这个数不会有前导 0)。
思路:看起来是数位 DP,不过可以有更优的做法,数据范围可以加 1000000 个 0!
那就是可重复元素的康托展开。
从末尾往前,维护当前答案和当前排列个数
于是用树状数组维护即可。
1|5CF585F Digits of Number Pi
题意:给定数字串
思路:首先看到
1|6CF55D Beautiful numbers
题意:Volodya 认为一个数字
你需要帮助他算出在区间
思路:首先想到,
1|7P3303 [SDOI2013] 淘金
题意:记
思路:首先考虑枚举
然后就是贪心了。将
__EOF__

本文链接:https://www.cnblogs.com/Xttttr/p/18015099.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】