9.10总结

今天学习了树形dp

根据题目意思可以建出一颗树,先dfs递到叶节点,在归的时候有递推方程

dp[n][0]=max(dp[s][1],dp[s][0]);

dp[n][1]=dp[s][0];

s为n的子节点,那么递推方程就写出来了,今天还做了几道dp,都是线性dp

总的来说思考dp应该着重判断当前的状态的来源,并且一定要考虑好最优子结构和无后效性的问题,

相关推荐
iceslime20 分钟前
旅行商问题(TSP)的 C++ 动态规划解法教学攻略
数据结构·c++·算法·算法设计与分析
aichitang20241 小时前
矩阵详解:从基础概念到实际应用
线性代数·算法·矩阵
OpenCSG2 小时前
电子行业AI赋能软件开发经典案例——某金融软件公司
人工智能·算法·金融·开源
dfsj660113 小时前
LLMs 系列科普文(14)
人工智能·深度学习·算法
薛定谔的算法3 小时前
《盗梦空间》与JavaScript中的递归
算法
kaiaaaa4 小时前
算法训练第十一天
数据结构·算法
?!7144 小时前
算法打卡第18天
c++·算法
springfe01014 小时前
构建大顶堆
前端·算法
凌辰揽月4 小时前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
lifallen5 小时前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法