C
(egin{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_ile w)则中间有一段是全部可以贡献的,线段树直接赋值,剩下的暴力
-
(2*li>w)直接暴力
(O(nlogn))
F
求解(max(a_imid(a_jAnd a_k)),nle 10^6,a_ile 2cdot 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)个
-
考虑(kle 2),则选择的点里面肯定包括(frac{1}{2}),则最后贡献加上(2(0,frac{1}{2}));(k=1),答案为(3)
H
挖个坑