agc025 题解

link

code

A \(\color{gray}\bigstar\)

破题,直接枚举。

B \(\color{gray}\bigstar\)

因为一个格子可以两个都染,相当于两颜色独立,直接枚举算组合数即可。

C \(\color{green}\bigstar\)

贪心,从原点出发,一定是到区间左端点,右端点,左端点这样。

如果直接去考虑选出那些点比较困难,不如直接贪心,选左端点最大,右端点最小这样依次选。

考虑一下开头选什么,两种情况讨论即可。

D \(\color{gold}\bigstar\)

开始考虑这个东西显然不能贪心染。

对于只有一个 \(D_1\),考虑对于一个位置,如果钦定其不选,那么周围一圈上的点就可以选了,然后可以证明周围一圈上的点全部选一定合法。

相当于证明网格图不存在等边三角形,这个因为面积是有理数,而面积有边长表示是无理数即可。

然后不会了。

看题解,发现可以归纳出连边后不存在奇环,也就是二分图。

那就简单了,跑出两个二分图,取两个部分取个并,那么一定有一个部分 \(\ge n^2\)

E \(\color{Gold}\bigstar\)

神秘构造题。

答案上界显然是对于每条边,其覆盖次数和 \(2\) 取个 \(\min\) 加起来。

然后一点都不会。

做法很震撼,考虑构造出这个答案上界,如果所有的边的覆盖次数都是偶数,相当于所有路径可以收尾相连,跑一个欧拉回路即可,这样甚至可以保证每条边被两种覆盖次数相同。

但是可能会有边覆盖次数是奇数,考虑对于这些边,我直接在欧拉图上建这样一条边,这样就成功的串联起来,并且中间这些边被两种覆盖次数的差 \(\le 1\),一定合法。

复杂度 \(O(n\log n)\)

F \(\color{blue}\bigstar\)

?题。

最短解第一页好像都是暴力。。。不是用脚都能卡掉吗。

考虑从高到低位,每一位都只会向后跑,那么考虑如果上下都是 \(1\) 相当于向后平移一个,平移直到会发生进位。

暴力做法就每次一步一步向后条,正解就考虑上下都是 \(0\) 的地方会直接跳过,因此只需要把所有上下有一个是 \(1\) 的位置记录下来,然后暴力条即可,复杂度用势能证明一下是 \(O(n)\) 的。

posted @ 2023-03-13 21:13  houzhiyuan  阅读(19)  评论(0编辑  收藏  举报