摘要:
本题不弱于小 Z 的袜子,考虑分块,令 \(B\) 为块数。 先考虑单点修改,可以令 \(f(x,y)\) 表示从块 \(x\) 中选出一个数,然后从块 \(y\) 中选出同样的数的方案数,放到平面上,有值的地方就是一个三角形,询问也是询问一个三角形中的 \(f(x,y)\) 和。 怎么做修改,对每 阅读全文
posted @ 2021-09-15 21:36
Qiuly
阅读(182)
评论(0)
推荐(0)
摘要:
这一类题带有鲜明的套路:分块,然后将跳大块和跳小块分开计算复杂度,跳大块最多跳 $B$ 次,小块最多暴力更新 $\frac{n}{B}$ 次。
同样考虑维护 $b_i$ 表示 $i$ 第一次跳出所在块会跳到哪里去,那么查询的话就可以两个点往前跳,跳到同一个大块后再继续不断跳 $b_i$ 直到相等,撤回来跳 $a_i$ 即可,单次是 $B+\frac{n}{B}$ 的。
问题在于怎 阅读全文
posted @ 2021-09-15 14:20
Qiuly
阅读(48)
评论(0)
推荐(0)
摘要:
容易发现关键在于怎么把树建出来,考虑扫描线,从左往右扫,用平衡树维护与当前扫描线相交的所有图形的两个交点。因为不存在相交情况,所以很方便的一点就是,交点之间 \(y\) 的大小关系不会改变。 插入一个点的时候,找到这个点下面第一个点:如果这个点是上交点,那么两个图形肯定共用父亲;如果这个点是下交点, 阅读全文
posted @ 2021-09-15 13:13
Qiuly
阅读(46)
评论(0)
推荐(0)
摘要:
考虑一对数的贡献,注意到这样的话剩下的数的方案数因为上界变得不好计算,考虑先将 $a_i$ 从小到大排序,然后将选排列看作从左往右选数,就可以解决上述问题。
令 $b_i$ 表示 $a_i$ 排序后的结果,$c_i$ 表示 $b_i$ 在原序列的哪个位置,不难发现一对 阅读全文
posted @ 2021-09-15 09:36
Qiuly
阅读(70)
评论(0)
推荐(0)

浙公网安备 33010602011771号