动态规划
文章平均质量分 92
cheng__yu_
这个作者很懒,什么都没留下…
展开
-
数位DP习题
数位DP习题不要62 (数位DP入门题)BombB-number 不要62 (数位DP入门题) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:统计给定区间内,数位上没有4且连续两位上不存在62的数字个数 思路:从高位到低位扫,遇到 4 直接跳过,遇到 6 改变状态为 1 并判断下一个数字是否为 2 #include <bits/stdc++.h> #define ll long long using namespace std; con原创 2020-07-31 00:10:54 · 620 阅读 · 0 评论 -
树形DP习题
树形DPP1352 没有上司的舞会(树形DP入门题)Computer HDU - 2196 (树形DP经典题) P1352 没有上司的舞会(树形DP入门题) 题意:给定一棵树,每个节点都有自己的权值,父子节点之间只能选择一个,问怎样可以使得整棵树选到的权值最大? 思路:设 dp[u][0/1]dp[u][0/1]dp[u][0/1], 0 表示不选择 u 节点,1 表示选择 u 节点。可以这样转移: dp[u][0]=∑max(dp[v][0],dp[v][1])dp[u][0]=\sum max(dp原创 2020-06-25 22:31:08 · 361 阅读 · 0 评论 -
斜率优化DP
Division HDU - 3480 (斜率优化 || 四边形优化) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3480 题意:给定 n 个数,计算将它们分为 k 个子集的最小花费。花费为:每个子集最大值和最小值之差的平方和 思路:设dp[i][j]表示前 i 个数,分成 j 个子集的最小花费 可以得到转移方程为:dp[i][j]=∑k=1j−1dp[k][j−1]+(a[i]−a[k+1])×(a[i]−a[k+1])dp[i][j]=\sum_{k=原创 2020-06-23 19:40:56 · 158 阅读 · 0 评论