省选模拟四十三 题解
作者:互联网
T1
设D(L,R)代表A组中都大于等于L,B组中都小于等于R的方案数
那么枚举最小值T,D(T,T)-D(T+1,T)便是最小值为T的答案
考虑D(L,R)该怎么求
首先把a,c数组排序
设f[i]代表前k个里有f[i]个满足a[x]+c[i]>=L,g[i]代表后n-k个里有g[i]个满足a[x]+c[i]<=R
假设选出了c序列是b1,b2,b3...bk
那么答案就是$$\prod_{i=1}^{k}(f[b[i]]-(k-i))*\prod_{i=1}^{n-k}(g[d[i]]-1)$$
dp解决即可
T2
考虑用倍增+RMQ求出$L(2^k,x),R(2^k,x)$代表从x走2^k步向左/右最远到哪里
之后二分答案mid
假如存在(x,y)使得L(mid-1,y)>x并且R(mid-1,x)<y则合法
预处理一下L的后缀最大值即可O(n)解决
T3
神奇的割圆术可以解决本题,边数2000左右
标签:组中,省选,题解,mid,最小值,代表,答案,四十三,prod 来源: https://www.cnblogs.com/AthosD/p/12469693.html