首页 > 其他分享 >AGC033

AGC033

时间:2022-10-20 23:00:06浏览次数:85  
标签:段长度 复杂度 texttt Easy mathcal AGC033 dp

A \((\texttt{Easy} \ 1 / 1)\)

答案就是每次可以上下左右走,白点到黑点距离最小值的最大值,BFS 即可。

时间复杂度 \(\mathcal{O}(HW)\)。

B \((\texttt{Easy} \ 2 / 1)\)

发现两维独立,可以分开 dp。正着做不好做,倒过来 dp,设 \(l_i, r_i, u_i, d_i\) 表示第 \(i\) 步开始之前需要在这个范围之内才能保证不出去,转移显然。

时间复杂度 \(\mathcal{O}(n)\)。

C \((\texttt{Easy} \ 3 / 1)\)

一次操作等价于把除去选择的点以外的叶子全部删掉,由此不难联想到直径。发现每次可以使得直径长度 \(-1\) 或 \(-2\),减到 \(0\) 时先手必胜,直接进行一个 dp 即可。

时间复杂度 \(\mathcal{O}(n)\)。

D \((\texttt{Easy} \ 3 / 3)\)

最暴力的 dp 是设 \(f_{a, b, c, d}\) 表示以 \((a, b)\) 和 \((c, d)\) 为边角的矩形的最小操作次数,直接转移是 \(\mathcal{O}(n^5)\) 的,转移具有决策单调性,可以优化至 \(\mathcal{O}(n^4)\)。

发现答案是 \(\mathcal{O}(\log nm)\) 的,我们不妨交换状态和值,改为设 \(f_{k, i, l, r}\) 表示最大的 \(t\),使得以 \((i, l)\) 和 \((t, r)\) 为边角的矩形的权值为 \(k\),转移同样可以用决策单调性优化,时间复杂度 \(\mathcal{O}(n^3 \log nm)\),可以通过。

E \((\texttt{Easy} \ 4 / 2)\)

不妨设 \(s[1] = \texttt{R}\),则不存在两段相邻的圆弧都为 \(\texttt{B}\)。

想到这个点后就简单了。考虑 \(\texttt{R}\) 对圆弧的限制:

  1. 圆弧中 \(\texttt{R}\) 的极大连续段长度必须为奇数。
  2. 设开头有 \(a\) 个 \(\texttt{R}\),则圆弧中 \(\texttt{R}\) 的极大连续段长度 \(\le a + [2 \mid a]\)。
  3. 设 \(s\) 中非开头的一段 \(\texttt{R}\) 的极长连续段长度为 \(b\),若 \(2 \nmid b\) 则圆弧中 \(\texttt{R}\) 的极大连续段长度 \(\le b\)。

于是使用前缀和优化 dp 即可。枚举第 \(1\) 段弧所在的段的长度,把长度为 \(x\) 的段的初值赋为 \(x\) 即可。

注意 \(s[i] = \texttt{R}\) 的情况需要特判,需要额外的 dp 计算。具体地,考虑链的情况,我们有 \(f_0 = f_1 = 1, f_2 = 3, f_n = f_{n - 1} + f_{n - 2}\);计算答案的时候枚举 \(s[n]\) 是哪个字符,可以得到答案为 \(f_{n - 1} + f_{n - 3}\)。

F \((\texttt{Medium} \ 5 / 3)\)

用类似于 BFS 的方式加边,即加入一条边时考虑用这条边能够加入哪些边,直接做就是 \(\mathcal{O}(n^3)\) 的了。

有一个人认为这样做下去没有前途,于是去考虑各种性质,但是做不出来,点开题解看到 bitset 就会了,我不说是谁。

具体地,在加入边 \((u, v)\) 时,新增的可以加入的边肯定有一个端点是 \(u\) 或 \(v\),设另一个端点为 \(w\),则 \(w\) 需满足:

  • \((w, u)\) 和 \((w, v)\) 恰好有一个在 \(G\) 中;
  • \(w, u, v\) 在树上是一条路径。

我们分别求出两条限制的 bitset,然后与一下即可。第一条限制是好处理的;对于第二条限制,钦定 \(1\) 为根结点,预处理每个点到根的路径上所有结点组成的 bitset 和每个点子树内所有节点组成的 bitset,再根据 \(u, v\) 是否成祖先关系即可 \(\mathcal{O}(\frac{n}{\omega})\) 地求出所有满足条件的 \(w\)。

时间复杂度 \(\mathcal{O}(\frac{n^3}{\omega})\)。

标签:段长度,复杂度,texttt,Easy,mathcal,AGC033,dp
From: https://www.cnblogs.com/Scintilla/p/16811647.html

相关文章