CF1208题解
C
\(\begin{aligned}\ 0 0 1 1\\ 0 0 1 1\\ 2 2 3 3\\ 2 2 3 3\\ \end{aligned}\)将每个四方格分别加上\(0,4,8,12\)
D
-
\(O(nlog^2n)\)从末尾开始计算,二分出结果,然后动态删掉,在处理倒数第二,可以用\(BIT\)做
-
\(O(nlogn)\)找出最右边的\(0\),填\(1\),然后把右边的位置全部减\(1\);再找最右边的,为\(2\),依此类推
E
\(n\)行\(w\)列的方格,每行有一可滑动矩阵,分别问每列最大值的最大值
-
\(2*l_i\le w\)则中间有一段是全部可以贡献的,线段树直接赋值,剩下的暴力
-
\(2*li>w\)直接暴力
\(O(nlogn)\)
F
求解\(max(a_i\mid(a_j\And a_k)),n\le 10^6,a_i\le 2\cdot 10^6\)
\(f(i)\)为\(a_i\)子集含\(i\)的位置,保存最靠右的两个位置,预处理\(O(nloga)\)
枚举每个\(a_i\),贪心做最高位到最低位就行
G
神仙题
考虑把圆上的点转换到序列,假设选择\(x\)多边形,则踩的点为:\(\frac{0}{x},\frac{1}{x},...,\frac{x-1}{x}\)
-
选择\(x\)之前,\(x\)的因子肯定被选了,因为\(x\)的点包括因子的点,故先选因子更优
-
在选择\(x\)之前,\(x\)的倍数肯定不在里面,证明如上。则说明在没选择x倍数前,\(x\)的位置放在任何位置贡献都相同
-
选择\(x\)的贡献为与\(x\)互质的数,否则根据\((1)\)可以约掉,也就是之前选过了,\(\varphi(x)\)
-
筛出\(n\)以内的欧拉函数,排序一下选前\(k\)个
-
考虑\(k\le 2\),则选择的点里面肯定包括\(\frac{1}{2}\),则最后贡献加上\(2(0,\frac{1}{2})\);\(k=1\),答案为\(3\)
H
挖个坑