C
显然,满成绩的重要度为(r),空成绩为(l)
且最终的成绩为若干是(X),一个(in(0,X]),若那个不满的成绩不超过(b_i),则选(l),否则选(r)
D
暴力的做法是二分图然后费用流,但边数太多了
(egin{aligned}
|x_1-x_2|+|y_1-y_2|&=max(x_1-x_2+y_1-y_2,x_1-x_2-y_1+y_2,-x_1+x_2+y_1-y_2,-x_1+x_2-y_1+y_2)\&=max((x_1+y_1)+(-x_2-y_2),(x_1-y_1)+(-x_2+y_2),(-x_1+y_1)+(x_2-y_2),(-x_1-y_1)+(x_2+y_2))\end{aligned})
建四个点,与左右两边连,边数(O(n))
E
枚举最终点,令其为根
两个互为祖先的操作显然没意义,将点(i)看作在节点(i)上有(dis(rt,i))个人,每次将不互为祖先的两个人消掉
有个经典的结论,对于根,令其儿子节点为(son_i),令(d_i)为(i)子树的人数,是否满足条件与(max{d_{son_i}},sum d_{son_i})有关
反复递归最大的子树,看其最小能变成多少人
F
可以转为初始为(i),多少次转为(0)
令(p_i=frac{a_i}{sumlimits_{k} a_k})
卷积为:
由于(sum p_i=1),则(sumlimits_{i=0}^{2^n-1} f_i=c+sumlimits_{i=1}^{2^n-1} f_i-1)
故(c=f_0+2^n-1)
有
故可以解出(x_0,x_1,cdots,x_{2^n-1})
但是有多个解的,通解为(x_0+k,x_1+k,cdots,x_{2^n-1}+k)
由于(x_0=0),(f_i=x_i-x_0)