可能更多的是一些小的不能在小的 trick。
- 多序列问题经常使用根号分治做。
- 数等价类个数等于在等价类里设代表元后的代表元数。
- 令 f ( x ) f(x) f(x) 表示 x x x 的数位和,有 f ( x + y ) = f ( x ) + f ( y ) − 9 t f(x+y)=f(x)+f(y)-9t f(x+y)=f(x)+f(y)−9t, t t t 是进位次数。
- 将 DAG 按照拓扑序依次放在数轴上,每条边都是从左边的一个点连向右边的一个点。
- 0/1 背包对于背包容量较大而物品个数稍少的情况可以二进制分组
- ∣ x − y ∣ = m a x ( x − y , y − x ) |x-y|=max(x-y,y-x) ∣x−y∣=max(x−y,y−x)