摘要: P1122 最大子树和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一道很好的树形dp基础题。但是自己因为刚开始刷的题被限制了思路。。。。其实这道题很简单。 首先是无向图存储。 dfs遍历,如果是子节点,并且子节点的总值大于0,那就加上,不然不要。 1 #include <bi 阅读全文
posted @ 2022-04-05 17:38 wellerency 阅读(14) 评论(0) 推荐(0) 编辑
摘要: P2015 二叉苹果树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 呜呜呜呜,真的是一道厉害题(至少对目前的我来说),研究了一个小时。 首先,因为我们不知道一对坐标中,谁是父亲,谁是儿子,所以用无向图把二者连起来,但最后dfs的时候还是只用其中一个。 状态表示:i的子树上保留j 阅读全文
posted @ 2022-04-05 17:10 wellerency 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 树形dp的主要实现形式是dfs,在dfs中dp,主要的实现形式是dp[i][j][0/1],i是以i为根的子树,j是表示在以i为根的子树中选择j个子节点 ,0表示这个节点不选,1表示选择这个节点。有的时候j或0/1这一维可以压掉 阅读全文
posted @ 2022-04-05 15:55 wellerency 阅读(23) 评论(0) 推荐(0) 编辑
摘要: P1352 没有上司的舞会 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一道很好的树形dp入门题。 要明确树形dp主要的实现方式是dfs。 状态表示:f [ i , 0 ]表示以i为根的子树,i层不取值时的最大值。 f [ i , 1 ]表示以i为根的子树,i层取值时的最大值 阅读全文
posted @ 2022-04-05 15:49 wellerency 阅读(25) 评论(0) 推荐(0) 编辑
摘要: CF607B Zuma - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一道很好的区间dp题。 这道题主要就是用回文字符串分析。状态表示为区间[i,j]的最小操作次数 我们可以画数轴。 1.当数轴只有一个单位的时候,f[i,i]=1。 2.当数轴上有两个单位时,如果a[i]与a[j 阅读全文
posted @ 2022-04-05 10:42 wellerency 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1.先判断出来这是区间dp,然后画数轴。 2.因为区间dp的核心思想是由一个个小区间进行合并成为了大区间,所以我们应该先模拟长度最小的区间,也就是长度为1的区间。 3.在研究长度为n的区间的时候,可以在数轴上标明覆盖区间,更直观。 阅读全文
posted @ 2022-04-05 09:19 wellerency 阅读(21) 评论(0) 推荐(0) 编辑
摘要: P4170 [CQOI2007]涂色 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一道很好的题。一定要明确dp问题就是分析状态的,不要太细节,不要管每个区间内具体有什么颜色。这道题看了大佬的题解后,真的有了很大的感触。 大佬做法: 1.先判断出来这是区间dp,然后画数轴。 2. 阅读全文
posted @ 2022-04-05 09:18 wellerency 阅读(72) 评论(0) 推荐(0) 编辑
摘要: P3146 [USACO16OPEN]248 G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 两个亮点。 亮点1:初始化的时候,要考虑到如果区间内只有这一个数,那我们求得的最大值就应该是这个数本身,所以初始化f[i][i]=a[i] 亮点2:答案不一定是f[1][n],因为不一 阅读全文
posted @ 2022-04-05 08:24 wellerency 阅读(21) 评论(0) 推荐(0) 编辑