2026.1 做题友基

洛谷P14829 [THUPC 2026 初赛] Asian Soul
2026 过的第一题!!
赛时写了个单根号,没过😅
赛后问了下发现双 \(\log\) 要卡常,不妨去抄个单 \(\log\)(单 \(\log\) 怎么也卡)
对于单次询问,记 \(S=\{a_l,a_{l+1},\dots,a_r\},T=S\cup\{u\}\),对 \(T\) 内的点建虚树,然后从 \(u\) 开始跳父亲,如果这个点去掉上来的那个儿子的子树后,子树里还有 \(S\) 里的点,那么这个点就有贡献,还要判一下 \(u\) 自己有没有贡献。
有一个很好的想法就是,线段树,先把查询挂到线段树上,然后对线段树的每个点建个虚树统计答案。
注意到建虚树要排序,可以用归并做到单 \(\log\)
最后把 vector 改成链式前向星就行。

posted @ 2026-01-15 22:36  天域_awa  阅读(0)  评论(0)    收藏  举报