AtCoder Grand Contest 034
C
显然,满成绩的重要度为\(r\),空成绩为\(l\)
且最终的成绩为若干是\(X\),一个\(\in(0,X]\),若那个不满的成绩不超过\(b_i\),则选\(l\),否则选\(r\)
D
暴力的做法是二分图然后费用流,但边数太多了
\(\begin{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}{\sum\limits_{k} a_k}\)
卷积为:
由于\(\sum p_i=1\),则\(\sum\limits_{i=0}^{2^n-1} f_i=c+\sum\limits_{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\)