Daimayuan Online Judge #556. 三进制循环
算法分析
树形dp
题目要求从第二个结点开始,每个节点的值都等于上一个节点的值 + 1 % 3 的结果,希望这个序列最长,那么树上问题,对于一个结点来说,经过他最长的序列肯定就是,向子树中的某一侧走到底的最佳答案 + 向子树中的另外一侧走到底的最佳答案
那么最后的答案就是某一侧长度+ 另外一侧长度 - 1
那么按照这个思路思考下去就可以脑补出状态的定义了。
状态表示
从 结点向下搜,满足 子节点为父节点 + 1 % 3 后的结果 的最长长度
(也可以理解为从上往下是递增的
从 结点.
原创
2022-03-16 19:30:47 ·
390 阅读 ·
0 评论