A - Not
直接输出 (1-x) 即可。
B - Product Max
发现答案一定是在 (a imes c)、(a imes d)、(b imes c)、(b imes d) 中出现。
输出它们四个中的最大值即为答案。
C - Ubiquity
容斥一下,答案为 总方案数 - 0 或 9 没有出现过的方案数
。
后面一块可以继续容斥,为 0 没有出现的方案数 + 9 没有出现的方案数 - 0 和 9 都没有出现的方案数
,也就是 (2 imes 9^n-8^n)。
最终答案即为 (10^n-2 imes 9^n+8^n)。
D - Redistribution
设 (dp_{i,j}) 表示长度为 (i) 的序列和为 (j) 的方案数。
转移时枚举第 (i) 位填的是数 (k),那么转移就是 (dp_{i,j+k}+=dp_{i-1,j})。
理论上会 TLE,可以开 O2 艹过去或者用前缀和优化(?)。
upd:
发现其实不要这么复杂……
设 (dp_i) 表示和为 (i) 的方案数。
枚举最后一位填的是什么,转移就是 (dp_i=sumlimits_{j=3}^i dp_j),边界 (dp_0=1)。
答案即为 (dp_s)。
E - Dist Max
好题啊。
首先我们要知道,平面上两点 ((x_1,y_1)) 和 ((x_2,y_2)) 的曼哈顿距离等于 ((x_1-y_1,x_1+y_1)) 与 ((x_2-y_2,x_2+y_2)) 的切比雪夫距离。这个可以通过去绝对值来证明。
( exttt{P.S.}) 切比雪夫距离:(max(|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)|))。
不妨设 (a_i) 表示 (x_i-y_i),(b_i) 表示 (x_i+y_i)。
那么我们就是要求 (max(|a_1-a_2|,|b_1-b_2|))。
也就是 (max(|a_i-a_j|,|b_i-b_j|)=max(max a_i-min a_i,max b_i-min b_i))。
这些都可以直接求,复杂度 (mathcal{O}(n))。
当然也可以分类讨论拆绝对值,也是这样做的 233
F - Contrast
贪心。
有几种方法,这里直接贴别人的代码了 TNT。