摘要:
原题链接 数位dp 一道小清新数位dp题。 乍一看,诶,这不就是个板子嘛。 但是写着写着就发现还是有蛮多细节的,下面我们来分析一下: 直接来看核心代码(即 \(dfs\) 部分) ll dfs(ll len, ll cha, ll flag, ll lim){ if(!len) return cha 阅读全文
摘要:
洛谷 P4999 烦人的数学作业 原题链接 数位dp emmm其实就是个板子题,而且一点坑点都没有 直接看代码吧 别忘了开 \(long \ long\) #include <iostream> #include <cstdio> #include <cstring> #define ll long 阅读全文
摘要:
洛谷 P4317 花神的数论题 原题链接 数位dp 这道题我个人认为还是有一定思维难度的 题目要求输出 \(ans = \prod\limits_{i=1}^nsum_i\),\(sum_i\) 为 \(i\) 在二进制下 \(1\) 的个数 那我们换个角度考虑, \(ans = \prod\lim 阅读全文
摘要:
洛谷P2602 [ZJOI2010]数字计数 原题链接 数位dp 这也是一道比较基础的数位dp题。 有一点需要注意,需要加上前导0的判断,否则在统计0的个数时会多余统计很多数 直接看代码吧(有注释) 不会真的有人写数位dp不用深搜吧,不会吧,不会吧 #include <iostream> #incl 阅读全文
摘要:
一本通1591:数字计数 原题链接 数位dp 这也是一道比较基础的数位dp题。 有一点需要注意,需要加上前导0的判断,否则在统计0的个数时会多余统计很多数 直接看代码吧(有注释) 不会真的有人写数位dp不用深搜吧,不会吧,不会吧 #include <iostream> #include <cstdi 阅读全文
摘要:
一本通1589:不要 62 原题链接 写在前面:在校内oj一次模拟赛中有这道题,在洛谷上找了找,结果没有,没想到在一本通上找到了 数位dp 数位dp裸题 不多说了,直接上代码吧(有注释) 不会真的有人写数位dp不用深搜吧QWQ #include <bits/stdc++.h> using names 阅读全文
摘要:
一本通1588:数字游戏 原题链接 数位dp 挺裸的一个板子,具体看代码吧(有注释) #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; int l, r 阅读全文
摘要:
洛谷1587: 【例 3】Windy 数 数位dp裸题 这道题对于前导0加个特判就好 如果前面是前导0,那么搜索时把pre赋值成-2(当然<-2的数都可以) 注意:这样处理之后dp数组就不能定义为dp[pos][pre][flag][lim](不懂的话见代码注释)。 因为pre哪里可能会是负数,所以 阅读全文
摘要:
一本通1587: 【例 3】Windy 数 原题链接 数位dp裸题 这道题对于前导0加个特判就好 如果前面是前导0,那么搜索时把pre赋值成-2(当然<-2的数都可以) 注意:这样处理之后dp数组就不能定义为dp[pos][pre][flag][lim](不懂的话见代码注释)。 因为pre哪里可能会 阅读全文
摘要:
Description 一本通传送门 Solution 数位dp裸题。 前缀和思想,\(ans_{a,b}\) 即为 \(ans_{1,b} - ans_{1,a-1}\)。 讲解都在代码里。 \(dp\) 过程用 \(dfs\) 来实现。 Code #include <iostream> #inc 阅读全文