摘要: 递归。令 D() 返回接下来的一个子表达式的答案。 考虑下一个字符: x:答案接上 x,答案加一。 (:答案接上下一个子表达式,答案加 D()。 ):该子表达式结束,返回答案。 |:答案与下一个子表达式取 $\max$ 后该子表达式结束,返回答案与 D() 的最大值。 #include <cstdi 阅读全文
posted @ 2023-06-15 16:15 5k_sync_closer 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 来一些不一样的做法。同余最短路。 以模 $a_1$ 的同余类为点集建图,有边 $[u]\xrightarrow{w}[v]$ 当且仅当 $u+w\equiv v\pmod{a_1}$。 则 $[0]$ 到 $[x]$ 的一条长度为 $d$ 的路径对应一种凑出 $d$ 的方案。 求出 $[0]$ 到其 阅读全文
posted @ 2023-06-15 15:33 5k_sync_closer 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 树上倍增+可并堆。 把原图的 MST 建出来,分别考虑非树边和树边的答案。 对于非树边 $(u,v)$,其最大为 $u\to v$ 路径最大值 $-1$ 时,可以替换掉这个最大值,加入 MST。 树上倍增维护路径最大值即可。 对于树边 $(u,v)$,其最大为所有覆盖其的非树边的最小值 $-1$ 时 阅读全文
posted @ 2023-06-15 10:36 5k_sync_closer 阅读(1) 评论(0) 推荐(0) 编辑