模拟20 题解
A. 周(week)
搜索。
B. 任(duty)
对于树上的联通块。
存在性质:点数=边数+1
也就是说:点数-边数=联通块数。
预处理出点,横向边,纵向边的二维前缀和,
即可$O(1)$回答每个询问。
C. 飞(fly)
题目中定义鬼畜值为$\frac{x*(x-1)}{2}$。
发现这个鬼畜值恰好为$C^2_x$,于是问题转化为求多少组直线存在交点。
1e7的数据范围,加上32MB的内存限制,$O(nlogn)$的算法显然会暴毙。
观察数据生成种子的性质,发现两次的变化量是一定的。
对于取模回到a以下的情况,维护树状数组。
复杂度为$O(n+aloga)$