这场的 F 题太逆天了。
E
分类讨论 + 贪心。
- 结果 (res) 为负数时,说明 (k) 为奇数而且所有数为负数,那就从大到小选取即可。
- 结果 (res) 非负时,如果 (k) 为奇数,那么我们必然要先选一个最大值,问题统一化为 (k) 为偶数怎么选。注意到最后选取的结果必然是偶数个非负,偶数个负数,我们采取贪心,对数列从大到小排序,如果左部分的两个数大于右部分,那就选左部分,否则选右部分。
F
题意:统计树上编号 ([l, r]) 所对应的点连通块的数量,(lin[1, n],rin[l, n])。
代码极短的思维题。
我们首先假定所有点为孤立点,那么对于编号为 (i) 的点,它的贡献为 (i imes(n-i+1))。
接下来我们直接按输入顺序连边即可(连边过程类似生成树)。
那么对于边 ((u, v)),它相当于使 ([1,u] imes[v,n]) 的连通块个数 (-1)。