摘要: SB 题。 写出 DP 方程:$f_i$ 表示从 $i$ 跳的最小值。 $i$ 是叶子就是 $0$,否则就是选个子树中的 $v$,$f_i=\min(f_v+a_ib_v)$。 至于优化,求出每个子树中的凸包就行了。启发式合并保证复杂度。 复杂度 $O(n\log^2 n)$。 没错,我又用了回家路 阅读全文
posted @ 2019-08-03 19:39 ATS_nantf 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 对于一个点 $x$ 如何求答案? 由于这个图是个有向无环图,可以先拓扑排序一遍,求出每个点的拓扑序,从起点到它的最长路 $d2$,从它到终点的最长路 $d1$。(我写代码是这么写的,注意顺序) 把拓扑序比小 $x$ 的点的点集叫 $A$,大的叫 $B$。答案就是 $\max\limits_{u\in 阅读全文
posted @ 2019-08-03 19:35 ATS_nantf 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 对于这种随机数据或者随机算法的题…… 都是神仙题吧。 要求的就是对每个点前 $m$ 个点中有多少个可以到达它。 由于评分方式这么奇怪,不妨考虑随机。 随机 127 次(可以选别的数,够多而且不 T 就行),每次给前 $m$ 个数随机赋值,然后拓扑求出能到达每个点的最小值。 可能脸黑,所以多跑几次取平 阅读全文
posted @ 2019-08-03 19:29 ATS_nantf 阅读(176) 评论(0) 推荐(0) 编辑