首页 > TAG信息列表 > pus
luogu P5021 [NOIP2018 提高组] 赛道修建
题面传送门 最大值最小不难想到二分。 然后考虑在lca处进行路径的合并。 对于一个lca,有一个贪心,就是子节点能合并的一定直接合并,能单链的一定单链。 因为一条链上去是不一定能合并,但是在这里一定能合并。 然后合并从小到大能合并就合并即可。用一个multiset维护就好了。 时间复杂2019.7.14 义乌模拟赛 T4 city
首先你有一个\(O(n^2logk)\)的显然做法:枚举重复路径两个端点,计算重复路径和非重复路径的长度,然后三分最大值即可。 这个东西显然过不去,发现瓶颈在三分上,考虑优化。 发现对于一个固定的重复路径长度,非重复路径肯定越短越好。 那么不就只用三分\(n\)次了? 时间复杂度就变成了\(O(n^22019.7.8 义乌模拟赛 T2 B
我们发现每个值的贡献其实是独立的。 所以这启发我们对于每个值单独计算。 题目中真正有意义的合并只有\(O(n)\)次,每次暴力归并所以是\(O(n^2+m)\)的。 但是这个显然不够优。 我们考虑启发式合并。 这样再用个set维护就可以了。时间复杂度\(O(nlog^2n)\) 用线段树合并可以一只logluogu P6932 [ICPC2017 WF]Money for Nothing
题面传送门 可以发现我们要计算的其实是给定矩形的一些左下角和右上角求最大面积。 对于左下角,如果我们有两个左下角\((x1,y1),(x2,y2)\)且\(x1>x2,y1>y2\)那么第一个左下角其实是没有用的。】 右上角同理。 然后显然就可以决策单调性了。 时间复杂度\(O(nlogn)\) code: #include