算法的流程看OI-wiki,实现以及统一处理的部分也要看
讲下时间复杂度,显然最外层循环是 O ( n ) O(n) O(n)的,主要是看内部的那个while循环的次数。如果是 i i i在 ( l , r ) (l,r) (l,r)的内部,那么只会执行一次,否则的话会执行多次,但是执行多少次 r r r就会增大多少,整个过程 r r r单调不减,最多增加 n n n,所以时间复杂度为 O ( n ) O(n) O(n)
算法的流程看OI-wiki,实现以及统一处理的部分也要看
讲下时间复杂度,显然最外层循环是 O ( n ) O(n) O(n)的,主要是看内部的那个while循环的次数。如果是 i i i在 ( l , r ) (l,r) (l,r)的内部,那么只会执行一次,否则的话会执行多次,但是执行多少次 r r r就会增大多少,整个过程 r r r单调不减,最多增加 n n n,所以时间复杂度为 O ( n ) O(n) O(n)