码迷,mamicode.com
首页 > 其他好文 > 详细

「考试」省选4

时间:2020-01-12 13:29:53      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:rod   线段   平衡树   考试   进入   位置   线段树   sky   简单的   

瞎打了几个暴力上去竟然就能rk2.。。

考完发现是数据结构专项测试。
T1
由于所有的圆不相交,那么我们可以认为这些圆的上下位置是不变的。
很显然的一个树形\(dp\),复杂度瓶颈在于建树。
每个圆拆成上下两个,做一次平衡树扫描线。
排序的时候以\(y\)为第一关键字,上下半圆为第二关键字,编号是第三关键字。
每个圆有进入和出去两个操作,然后进入的时候先插入平衡树然后找前驱。
如果是下半圆说明是找到了父亲,否则是找到了兄弟,这样就可以建树了。
\(O(nlogn)\)的。

T2
简单的打表可以发现\(lcm(T(N,1),T(N,2)......T(N,K))=lcm(N-K+1,N-K+2......N)\)
这样考虑如何求这个东西。
我们构造一个数组\(D_n\)使得\(\prod\limits_{i=n-k+1}^{n}D_n[i]=lcm(n-k+1,......,n)\)
然后用skyh的说法就是最值差分。
首先\(D_n=D_{n-1}\)然后\(D_n[n]=n\)
这样有可能是不正确的。
那就找到较靠前的数来消去\(D_n[n]\)中的质因子。
然后用可持久化线段树就可以查询了。
由于\(n\)及以下的数的质因子总个数为\(nln\ ln\ n\)
那么复杂度就是:
\(O(nln\ ln\ n\ logn)\)

T3
傻逼静态仙人掌写了两百行树剖调不出来了。

「考试」省选4

标签:rod   线段   平衡树   考试   进入   位置   线段树   sky   简单的   

原文地址:https://www.cnblogs.com/Lrefrain/p/12182242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!