随笔分类 - 动态规划 数位DP
摘要:【资料】 ★记忆化搜索:数位dp总结 之 从入门到模板 by wust_wenhao 论文:浅谈数位类统计问题 数位计数问题解法研究 【记忆化搜索】 数位:数字从低位到高位依次为0~len-1。 高位限制limit=limit&&i==a[pos] 前导零lead=lead&&i==0 数位pos=
阅读全文
摘要:【算法】数位DP 【题解】 记忆化搜索 #include<cstdio> #include<algorithm> #include<cstring> #define ll long long using namespace std; ll A[10],B[10],f[20][11],a[20],p[
阅读全文
摘要:【题意】给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数。1 ≤ a ≤ b ≤ 10^18 【算法】数位DP 【题解】 感觉这种方法很暴力啊。 枚举数位和1~162(不能枚举0,不然会模0,相当于除0),记忆化f[pos][sum][val],sum表示当前数位和,val表示数字取模枚
阅读全文
摘要:【算法】数位DP 【题意】定义V-number为从左到看单位数字未出现先递增后递减现象的数字,求0~N中满足条件的数字个数。T<=200,lenth(n)<=100 【题解】百度之星2017复赛,作为送分题出现,拿来练数位DP模板了。 位数多,读入记得用字符串。 记忆化要将有关变量全部纳入。 需要取
阅读全文
摘要:第一题 模拟送分。 #include<cstdio> #include<cstring> #include<cctype> #include<cmath> #include<algorithm> #define ll long long using namespace std; int read()
阅读全文
摘要:【算法】数位DP 【题解】数位dp总结 之 从入门到模板 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=20; int n,a[maxn],NUM[maxn]; l
阅读全文
摘要:【算法】数位DP 【题解】参考题解 记忆化搜索挺好写的,而且比DP+递推快。 大概思路是记录h(高度),pre(前一位数字),limit(限制)。 从根往叶子走,limit=0时,扫0~9判断符合条件就递归。 limit=1时,也就是当前位于n上,只能扫0~end-1,end就要limit=1来递归
阅读全文
摘要:【算法】数位DP 【题解】动态规划 题目要求的是大整数……没办法只写了小数字的,感觉应该没错。 大题框架是最大值最小化的二分问题。 对于每一块要求count(b)-count(a-1)≥s 已知a如何计算b?令now=count(a-1)+s,求的就是满足count(b)≥now的最小b了。 虽然看
阅读全文
摘要:【算法】数位DP 【题解】动态规划 写了预处理函数却忘了调用是一种怎样的体验? #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int f[35][35]; void init() { f[0][
阅读全文
摘要:【动态规划杂记】状态+转移 参考:夜深人静写算法(二) - 动态规划 核心:划分阶段-状态表示-状态转移方程。 复杂度:状态数O(n^t),转移O(n^e),则称为tD/eD问题。 1.最优化问题和方案数问题常考虑DP,特定数问题不考虑DP。 2.断层思想:划分状态,从计算过的状态去答案,这就是无后
阅读全文
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡
阅读全文