博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  动态规划——数位DP

摘要:求有多少个集合满足对异或封闭,且集合中的最大元素不超过$K$。 $K\leq 10^9$。 阅读全文
posted @ 2021-02-24 21:38 SovietPower 阅读(165) 评论(0) 推荐(0)
摘要:令$S(n)$表示将$S$的十进制位重排序后的数,如$S(324)=234$,求$\sum_{i=1}^nS(i)$。 $n\leq 10^{700}$。 阅读全文
posted @ 2021-01-26 17:05 SovietPower 阅读(61) 评论(0) 推荐(0)
摘要://// 阅读全文
posted @ 2020-11-11 11:30 SovietPower 阅读(327) 评论(1) 推荐(1)
摘要:\kk 阅读全文
posted @ 2020-10-14 23:24 SovietPower 阅读(191) 评论(0) 推荐(0)
摘要:2019.3.5 青岛普转肯模拟赛day1暨徐源粉丝线下见面会 期望得分:70+20+40 实际得分:30+20+20 比赛链接 A.智慧树tree(树形DP NTT Bluestein) 题目链接 根据群里$dalao$的聊天记录,瞎猜理解了一波,重新理解了一遍DFT和NTT...会记在下面($d 阅读全文
posted @ 2019-03-10 08:47 SovietPower 阅读(243) 评论(0) 推荐(0)
摘要:切了一道简单的数位DP,终于有些没白做题的感觉了... 阅读全文
posted @ 2019-02-17 20:08 SovietPower 阅读(189) 评论(0) 推荐(0)
摘要:北京八十中集训 Day7 yjqaa 阅读全文
posted @ 2019-01-06 09:45 SovietPower 阅读(256) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-10-11 18:06 SovietPower 阅读(187) 评论(0) 推荐(0)
摘要:"题目链接" 先考虑,对于确定的一个数,怎样移动代价最少(或者移到哪个位置最优)? 假设我们都移到下标$1$位置(设集合点为$1$),那么移动到下标$2$与$1$相比代价差为:$下标1的石子数和$。 如果它为负,那么把移到$1$的代价加上它,令集合点变为$2$... 这样一直改变集合点,直到 $下标 阅读全文
posted @ 2018-09-29 11:12 SovietPower 阅读(158) 评论(0) 推荐(0)
摘要:求$[l,r]$中有多少个数,满足把这个数的每一位从高位到低位写下来,其LIS长度为$k$。$l,r\leq 2^{63}-2,\ k\leq 10$。 阅读全文
posted @ 2018-09-26 15:11 SovietPower 阅读(264) 评论(0) 推荐(0)
摘要:[TOC] 2018.9.9 牛客提高集训营1 时间:3.5h(实际) 实际得分:40+95+0 T1枚举区间求个中位数60分,写得好就是80分啊。我怎么想的→_→。。 T3又T又MLEsmg。虽然是个树剖+线段树+二分+bitset,但还是靠谱(不至于MLE)的吧。。莫名死循环...? "比赛链接 阅读全文
posted @ 2018-09-09 20:04 SovietPower 阅读(194) 评论(0) 推荐(0)
摘要:"题目链接" 数位DP。傻了。。 前导0是有影响的,影响第一位的选择,所以要记。再记录上限,然后在没有限制时记忆化。 阅读全文
posted @ 2018-05-01 11:26 SovietPower 阅读(157) 评论(0) 推荐(1)
摘要:"题目链接" $Description$ 设$sum_i$表示$i$的二进制表示中$1$的个数,求$$\prod_{i=1}^nsum_i\ mod\ 10000007$$ $Solution$ 因为$n$的二进制有$logn$位,所以我们考虑枚举x,求满足$sum_i=x$的$i$的个数,然后就可 阅读全文
posted @ 2018-04-01 20:06 SovietPower 阅读(188) 评论(0) 推荐(0)
摘要:"题目链接" $Description$ 求$[l,r]$中$0,1,\cdots,9$每个数字出现的次数(十进制表示)。 $Solution$ 对每位分别DP。注意考虑前导0: 在最后统计时,把0的答案减掉对应位的即可,在第$i$位的前导0会产生额外的$10^{i 1}$个答案。 cpp incl 阅读全文
posted @ 2018-04-01 17:01 SovietPower 阅读(167) 评论(0) 推荐(0)
摘要:"题目链接" $Description$ 求$[1,n]$中十进制表示包含"13"这个子串,且能整除13的数的个数。 $Solution$ 数位DP: dp[位][s(pre/have"13")][remainder],上界由DFS状态记录. cpp //15MS 1520K include int 阅读全文
posted @ 2018-04-01 16:13 SovietPower 阅读(168) 评论(0) 推荐(0)
摘要:[TOC] 2018.3.25 Test 时间: 7:30~11:30 (最后半小时不做了) 期望得分: 50+100+20=170 实际得分: 40+44+20=104 总结 T1:善用容斥。 T2:要求输出小数当然有它的道理。。 T3:行列分开考虑。看好怎么取模。如要求最大的答案,然后对答案取模 阅读全文
posted @ 2018-03-25 13:29 SovietPower 阅读(222) 评论(2) 推荐(0)
摘要:"题目链接" 首先数位DP 用f[i][0/1]表示匹配到第i位前面i 1位是否为上界。 这样还需要状态转移,对于每个状态 枚举每一个数,用AC自动机得到下一个状态(这样状态其实就是在树上的标号) ps1.数不能带前导0(因为会有00...这样的串),对每一位要先加上以每个非零数开头的方案数 ps2 阅读全文
posted @ 2018-03-11 16:49 SovietPower 阅读(278) 评论(0) 推荐(0)