题意
给定坐标系上三个个矩形S,M,T,求从S内的所有点走到T内的所有点,且不经过M的方案数。
数据范围:坐标范围
≤
45
×
1
0
7
\le 45\times 10^{7}
≤45×107,S,T的大小(顶点横、纵坐标的差)
≤
1
0
6
\le 10^{6}
≤106,M的大小
≤
50000
\le 50000
≤50000
题解
考场:
先考虑S,T都是一个点,坐标在1e7范围内的部分分,可分两类:从M上、下方通过,枚举到M左、右端的纵坐标,组合数计算即可。(然而数组没开大还是暴零了,白白丢了48分)
84分题解(坐标范围
≤
1
0
7
\le10^{7}
≤107):
仍枚举到M左、右端的纵坐标,考虑从s中每一个点到一个顶点的方案数,可以转化为一个定点到一个矩形的方案数,为了方便,可以容斥后转为坐标原点到一个以原点为左下角的矩形的方案数,列出式子后用组合数的基本性质即可化简到O(1),总效率是
O
(
坐
标
范
围
)
O(坐标范围)
O(坐标范围)的。
其他神犇们用比较神的方法化到了S、T大小或M大小的效率,但组合数仍是坐标范围的。据题解说用多项式多点求值可优化到
O
(
n
×
l
o
g
2
50000
)
O(n\times log^{2}50000)
O(n×log250000),或者姿势好的打表也可(???)。
留个坑等CSP没退役就填吧(我也希望能填啊)。