摘要: 题目 P6326 Shopping 分析 首先发现很明显是树上多重背包。 于是可以考虑设状态 \(dp[x][i]\) 表示(必选$x$)和其子树连通块,且背包容量为 \(i\) 时的最大价值。 直接单调队列 \(dp\) ,明显是 \(O(n^2m)\) 。 那么考虑优化,我们发现这里的难点无非就 阅读全文
posted @ 2021-05-03 23:51 __Anchor 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题目 P3060 [USACO12NOV]Balanced Trees G 给出一棵树,每个节点一个括号,可能左也可能右,求树上一条合法括号路径的最大嵌套层数。 分析 很容易想到点分治,那么现在问题变成如何拼接路径。 由于这样的路径左右顺序会有影响,于是考虑分开处理,也就是拿两个东西分别记从这里出发 阅读全文
posted @ 2021-05-03 23:39 __Anchor 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 题目 P5306 [COCI2019] Transport 分析 点分治+平衡树。 首先,我们很容易想到这里要使用点分治,然后我们可以考虑如何拼接路径。 发现因为这道题这样的话是有方向的,于是可以考虑维护两个数据结构,一个是从这个点出发,一个是在这个点结束。 那么具体怎么维护呢?我们发现对于一条路径 阅读全文
posted @ 2021-05-03 00:13 __Anchor 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题目 P4075 [SDOI2016]模式字符串 求树上两点对数量,满足其路径上结点的字符连接起来是串 \(S\) 可以循环得到的。 分析 首先这类树上统计点对,还有字符串的,通常,因为我们的点分治需要拼接,所有这样的题也一般是 点分治+字符串哈希 来完成。 这道题就是要拼接两个串,那么我们其实就可 阅读全文
posted @ 2021-05-03 00:06 __Anchor 阅读(30) 评论(0) 推荐(0) 编辑