QOJ3047 Wind of Change
自己的想法是对第一棵点分治,第二棵建点分树然后暴力跳 \(fa\) 处理,这样就是 \(O(n\log^2 n)\) 的。
但是可以写得更优雅!直接对两棵树建点分树,把 \(O(n\log n)\) 个点对分别挂在分治中心(第一棵)和节点(第二棵)上,这样码量很小。
QOJ3276 [CTT 2021 D3T2] 出题高手
乱搞题。
随组数据发现前缀和值域是 \(O(n)\) 的,并且有用的点对也是 \(O(n)\) 的,于是可以把点对处理出来扫描线处理。
问题是怎么找有用的点对,我的做法是枚举左端点 \(l\) 每次 \(r\) 跳 \(64\) 步看 \([r, r + 64)\) 这个区间里面分母取 \(r - l + 1\) 有没有可能有解的答案,没有直接逃过否则暴力。这样能跑 \(n\le 10^5\)。
\(n = 5\times 10^5, q = 1\) 理论上将调下块长就过了,但是好像只取 \(r - l + 1\le 500\) 就够了。Trash 题懒得想了。
LOJ3001 [JOISC 2015 D3T1] AAQQZ
垃圾分类讨论。
感觉就那几种情况但是有一车细节问题,搬到联考里面大样例全是脚造的能调个鬼啊。
没看题解自己实现的,最后还是咬着牙对着数据把它调对了。
标签:分树,le,log,批题,64,建点 From: https://www.cnblogs.com/zlxFTH/p/18086709