「JSOI2016」灯塔(数论分块+ST做RMQ或单调栈)
2021-03-21 04:26
标签:https int names std efi 区间 ace turn ceil https://loj.ac/problem/2074 我看到这个题的第一反应是做单调栈: 就\(sqrt\)这函数吧,也是单调的,性质应该和直线差不多,所以单调队列维护交点单调的若干条曲线。 求交点可以用二分求,时间复杂度是\(O(n~log~n)\) 有理有据的做法是分块。 考虑\(\sqrt{|i-j|}\)只有\(2\sqrt n\)种取值,且对于每个每个取值,合法的\(j\)在一个区间里,预处理\(ST\)表以快速查询区间最大值最小值。 时间复杂度:\(O(n\sqrt n + n~log~n)\) Code: 「JSOI2016」灯塔(数论分块+ST做RMQ或单调栈) 标签:https int names std efi 区间 ace turn ceil 原文地址:https://www.cnblogs.com/coldchair/p/12728520.html
\(p[i]>=h[j]+\sqrt{|i-j|}-h[i]\)#include
文章标题:「JSOI2016」灯塔(数论分块+ST做RMQ或单调栈)
文章链接:http://soscw.com/index.php/essay/67018.html