随笔分类 - 动态规划 插头DP(轮廓线DP)
摘要:【题意】给定m*n的整数矩阵,求经过所有点至多一次路径的最大数值和。n<=8,m<=100。 【算法】插头DP 【题解】最小表示法确实十分通用,处理简单路径问题只需要状态多加一位表示独立插头的数量0~2(即路径端点),转移的时候多考虑凭空产生独立插头和结尾为独立插头的情况即可。 可以跳格的情况直接转
阅读全文
摘要:【题意】给定n*m的地板,有一些障碍格,要求用L型的方块不重不漏填满的方案数。L型方块是从一个方格向任意两个相邻方向延伸的方块,不能不延伸。n*m<=100。 【算法】插头DP 【题解】状态0表示无插头,1表示能拐弯的插头,2表示不能拐弯的插头。(有插头,方块就必须必须延伸到该格),考虑转移即可。
阅读全文
摘要:【题目】1519. Formula 1 【题意】给定n*m个方格图,有一些障碍格,求非障碍格的哈密顿回路数量。n,m<=12。 【算法】插头DP 【题解】《基于连通性状态压缩的动态规划问题》 by CDQ(万恶之源T_T) 如果你想学最小表示法,当然首推kuangbinの博客。 基本思想是逐格推进,
阅读全文
摘要:【算法】插头DP 【题解】蓝书原题 动态规划 [原创]插头DP小结(ACM by kuangbin) #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int MAXD=15; cons
阅读全文
摘要:【动态规划杂记】状态+转移 参考:夜深人静写算法(二) - 动态规划 核心:划分阶段-状态表示-状态转移方程。 复杂度:状态数O(n^t),转移O(n^e),则称为tD/eD问题。 1.最优化问题和方案数问题常考虑DP,特定数问题不考虑DP。 2.断层思想:划分状态,从计算过的状态去答案,这就是无后
阅读全文
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡
阅读全文