2019年7月29日,金华集训Day2
无FAK说
普通分治
概念
通过将区间分成两个区间,来将问题分成两个⼦问题
T1
\qquad 求所有区间的最⼤值之和
用 s t l stl stl处理最值,复杂度为 O ( n ) O(n) O(n)
T2
\qquad 求所有区间的最⼤值×最⼩值之和
T3
\qquad 求所有区间的 gcd 之和
T4
\qquad 求⼆维平⾯上最近点对
T5
\qquad 分治多项式乘法
旅行者
\qquad 给定⼀张 n ∗ m n*m n∗m的带正权⽹格图,有 Q Q Q组询问,每次询问两对点之间的最短路
1 < = n ∗ m , Q < = 50000 \qquad 1<=n*m,Q<=50000 1<=n∗m,Q<=50000
连续区间
\qquad 给定⼀个排列 p [ 1 … n ] p[1…n] p[1…n],求有⼏个区间 [ L , R ] [L,R] [L,R]满⾜ p [ L … R ] p[L…R] p[L…R]排序后是连续的
n < = 500000 \qquad n<=500000 n<=500000
XOR最⼩⽣成树
\qquad 给定 n n n个点,第 i i i个点的点权是 a [ 1 … n ] a[1…n] a[1…n],现在定义边 ( i , j ) (i,j) (i,j)的权值是 a [ I ] x o r a [ j ] a[I] xor a[j] a[I]xora[j],求最⼩⽣成树
区间统计
\qquad