P12406 「CZOI-R3」消除序列 题解
我的方法使用了动态规划和树状数组,可能并不简洁,但题解太简略了,我暂时也不清楚怎么简单地维护题解里的 $u$ 和 $v$,其他部分是原题解的详细版本。 首先分析一下操作(方便描述,标了个号): 将 $a$ 循环左移一位。若在进行操作前 $a_1\...
我的方法使用了动态规划和树状数组,可能并不简洁,但题解太简略了,我暂时也不清楚怎么简单地维护题解里的 $u$ 和 $v$,其他部分是原题解的详细版本。 首先分析一下操作(方便描述,标了个号): 将 $a$ 循环左移一位。若在进行操作前 $a_1\...
本次比赛难度为入门至提高+/省选。 但是没有入门。 首先考虑最小值,如果只有一只羊感染,那么它传染边上任何一个位置,然后两只羊互相传染就行了,最小值是 $2$ 只。如果有更多的羊感染,它们只要紧挨着排列,每一只都传染给边上已经感染的,最...
正难则反,考虑后涂色的不会被先涂色的覆盖,因此可以到序求解。 具体的,先找出输入矩阵中字典序最大的字母,从这个字母开始倒序枚举。 对于每一个字母,有出现过和没有出现过两种情况,如果没有出现过,直接在一个比它大的位置涂色一格就可以了(这一格将被覆盖,等...
贪心地,依次扫描每一行(列),如果当前格子有球,将它打上标记,如果没有球且之前没有打过标记,直接进入下一行(列),最终统计有没有有球而没有标记的格子,如果有,说明不合法,否则合法。 1234567891011121314151617181920212...
分类讨论。 【$1$】当 $m$ 是奇数时,构造 $ \text{abababab} \cdots$ 的串即可满足题意,于是直接交替输出 $1$ 和 $2$ 凑足 $m+1$ 个即可。 【$2$】当 $m$ 是偶数时: 【$2.1$】存在一个点对,来...
提供一种简单的线段树写法。 首先,给出朴素的 DP,令 $dp_{i,j}$ 表示前 $i$ 种食物,第 $i$ 种选择了 $j$ 的最小花费,显然得出转移: $$dp_{i,j}=\min\limits_{\text{(j,k)\ is\...
正难则反,倒序操作,操作的一定是四个同色格子(或者其中有已经完成操作的点,其他同色),可以从此入手进行 DFS。 遍历每一个点,对其进行 DFS,首先检查是否已经完成处理(被标记为 $0$)、越界或者不符合条件(有杂颜色),如果没有问题,标记这四个格...
如果存在 $u$ 不在 $v$ 的子树内且 $w_u>w_v$,则最大的 $v$ 一定是可行的点。 此时,选择了这个点后,对方将无法选出一个点使得消除后剩下的点大于选择的点,因此可行。如果选择不出这样一个点,则无解。 首先想到枚举 $v$,并要...
Upd:可以使用 AtCoder Lib 打表,可以在几秒内得到结果,详见文章末尾。 打表做法(可能不太具有普遍性,但确实可以)$114514$ 是一个很好的随机种子。 首先,做一个非常简单的优化:为了使拼接后的子串种类不重复,可以构造使得其中一种符...
面对这样小的数据范围,为什么要写搜索?于是我来写一个纯粹的模拟。这题不至于评绿吧? 大致的思路就是枚举每一个可能的入射方向,暴力模拟光的传播过程,并在这个过程中记录经过的镜面,进行判断。 我认为这题唯一复杂的地方在于对光的反射方向的处理,有一些题解中...