Processing math: 100%

随笔分类 -  0x33树形dp

摘要:题目链接 #题目大意 给你n个字符串,让你求一个集合,这些集合里的字符串是n个字符串中某些字符串的前缀,并且集合中的字符串任意两个都不相似,相似的定义为其中一个字符串去掉第一个字符和另一个完全相同。 #解题思路 在字典树上从根到每一个节点的简单路径都是某些字符串的一个前缀,和他相似的点就是fail指 阅读全文
posted @ 2021-09-23 21:04 shuitiangong 阅读(55) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 有一棵以1号点为根的树,每个树上有一定的苹果,你可以在树上来回走k步,问最多拿多少种苹果。 #解题思路 每个点一共有三种状态,一种是经过这个点一共走x步到了某个点,一种是回到这个点,一种是没回到这个点。 状态表示: dp[i][j][1]: 回到了i点,一共在i的子树中走了j步 阅读全文
posted @ 2021-08-04 21:19 shuitiangong 阅读(66) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 求树上每个点到其他点的最大距离。 #解题思路 首先随便选择一个顶点作为根然后跑一遍dfs,记录每个顶点以其为根能到达的最大深度和次大深度,然后再跑一遍dfs,对于每个顶点,如果要到达一个距离最大的点,要么就是原来中的子树中的距离最大的点,要么就是经过父节点的某个点。 #代码 # 阅读全文
posted @ 2021-04-01 21:39 shuitiangong 阅读(115) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 你可以在一棵数的边上填上0 n2中的一个数,每个数只用一次,问树上任意两个不同点的mex(u, v)之和是多少?mex(u,v)代表两点之间的简单路径上没有出现的最小的非负整数。 #解题思路 对于任意一条路径,如果不包含权值为0的边,那么结果必定为0,所以我们从一条权值为 阅读全文
posted @ 2021-03-17 21:35 shuitiangong 阅读(60) 评论(0) 推荐(0) 编辑
摘要:题目链接 #题目大意 给你一棵以1为根的树,你可以在叶子结点放1-叶子结点数量的数字,每个数字只能用一次,父节点有的对子节点取min,有的取max,问根结点的最大值。 #解题思路 考虑最下层的父节点,如果是max,那么在所有子节点中选一个放比较大的数,其他放比较小的数就行了,如果是min,那么就要放 阅读全文
posted @ 2021-02-18 10:44 shuitiangong 阅读(71) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示