单点修改
CF1379F Chess Strikes Back 代码
(2 imes 2) 的格子分成一块,不能有 不能放左上角的格子 在 不能放右下角的格子 的左上方(包括同行同列),用可删堆(或 ( t set))维护一行的最边的 不能放左上角的格子 和 不能放左上角的格子,用线段树单点修改动态维护答案。
区间修改
CF1295E Permutation Separation 代码
要会打暴力(尝试优化),要会逆向思维。把线段树当作求答案数组,区间修改即可。我太蒻了。
CF643G Choosing Ads 题解
奇怪的合并方式,引用了众数的性质。
CF280D k-Maximum Subsequence Sum 代码
模拟费用流。维护区间最大和子区间,带区间反转操作。
CF242E XOR on Segment 代码
每位拆成一个线段树,区间修改求和。
包含线段权值
CF1221F Choose a Square 代码
转化为线段 ([x_i,y_i]) 的权值为 (c_i),然后用线段树求包含线段权值最值。
扫描线
USACO5.5 矩形周长Picture 代码
求周长。横竖分开处理,用线段树维护。在厚度为 (0) 和非 (0) 的临界点统计线段长度和。