CSP模拟赛 Lost My Music(二分,可回退化栈)
题面
题解
发现是斜率的形式,答案的相反数可以看做一条直线的斜率。那么我们要答案最小,斜率最大。维护下凸壳就行了。
考试时写了直接dfsdfsdfs+暴力弹栈拿了808080分(还以为自己是O(n)正解美滋滋)
就是直接存下根到当前点的路径上的凸包,然后回退的时候撤销操作。但这样一个点可能在子树下面被弹出多次。所以最坏情况是O(n2)O(n^2)O(n2)的(链+菊花)。
考虑怎么实现可回退化栈...
原创
2019-10-31 16:16:01 ·
271 阅读 ·
1 评论