Loading

ARC 116/119 与 CF Round 712 Div.2 比赛记录

ARC 116

赛时通过 \(\text{A,B,C}\),排名 \(885\),Performance \(1529\)

A

找规律发现若:

  • \(x\bmod 4=1\lor x\bmod 4=3\)\(\text{Odd}\)
  • \(x\bmod 4=2\)\(\text{Same}\)
  • \(x\bmod 4=0\)\(\text{Even}\)

B

\(A\) 排序,并整理成 \((a_i,b_i)\) 的形式,其中 \(b_i\) 表示 \(a_i\) 的出现次数。

枚举子集 \(B\)\(\max\),推一下式子即可。

C

可以发现,若约数链中不允许有相同的数,那么其长度最多为 \(\log_2m\)

\(f_{i,j}\) 为长度为 \(i\) 的约数链,最后一个数为 \(j\) 且不允许有相同数字的方案数。

这个可以 \(O(m \log^2 m)\) 计算。

枚举 \(i,j\),然后考虑在约数链之间填上相同的数有多少种填法即可,这个可以用隔板法计算。

D

考虑那个 \(\operatorname{xor}\) 和为 \(0\) 的条件,其实是规定了每一位上都要有偶数个 \(1\)

拆位计算,那么当我们确定了从低到高的第 \(i\) 位时,其实可以将它归约到一个相同的子问题:计算最高的 \((i+1)\) 位。

\(f_i\)\(n\) 个和为 \(i\) 的数,且 \(\operatorname{xor}\) 和为 \(0\) 的方案数。

那么 \(f_i=\begin{cases}\sum\limits_j f_{(i-2j)\div 2} & i \bmod 2=0\\ 0 & i \bmod 2 =1\end{cases}\)

E

重题:P3523 [POI2011]DYN-Dynamite

因为 POI 这题好像还难点,我就做这道题了。

阳间翻译可以看 https://loj.ac/p/2165

看到这种“最大值最小”之类的先想到二分。二分答案 \(x\),于是问题变成了“能否选 \(m\) 个点,使得关键点到这些点距离的最小值的最大值 \(\le x\)”。

考虑树形 dp,设 \(f_u\) 为以 \(u\) 为根的子树内,距离 \(u\) 最远的、未被覆盖的关键点,到 \(u\) 的距离,\(g_u\) 为以 \(u\) 为根的子树内,距离 \(u\) 最近的、被选中的点,到 \(u\) 的距离;变量 \(N\) 表示当前关键点个数。

一开始 \(f_u=\max\limits_{v\in son_u}\{f_v\}+1\)\(g_u=\min\limits_{v\in son_u}\{g_v\}+1\)

然后分三种情况特判:

  • \(f_u+g_u\le x\):说明用 \(g_u\) 代表的点即可覆盖子树内所有关键点,\(f_u\gets -\inf\)
  • \(f_u=x\):点 \(u\) 必须选,\(f_u \gets -\inf,N\gets N+1\)
  • \(g_u>x\land d_u\):点 \(u\) 是关键点,但子树中没有能覆盖它的。于是我们令 \(f_u\gets \max(f_u,0)\),表示把它丢给父亲处理。

对于根节点:如果 \(f_{\text{root}}\neq -\inf\),那么 \(N\gets N+1\)

为什么不用特判 \(f_u>x\) 的情况?因为这种情况不存在,\(f_u\) 最多会比 \(\max\{f_v\}\)\(1\),我们已经特判了 \(f_u=x\) 的情况,就不用再特判这个了。

CF #712 Div.2

赛时通过 \(\text{A,B,C}\),排名 \(1761\)

A

插入的字符 \(\text{a}\) 要不然插入在开头,要不然插入在末尾。

B

略。

C

被这个 C 卡了好久,看来要好好练练构造啊。

一个合法的括号串,其中一定包含恰好一半的左括号。

所以,若 \(s\) 中有奇数个 \(0\),那么一定无法构造。

否则,我们计算出 \(s\)\(1\) 的个数 \(c_1\)。对于前 \(\dfrac{c_1}{2}\)\(1\) 的位置我们填左括号,对于后 \(\dfrac{c_1}{2}\) 个位置我们填右括号。

然后 \(s\)\(0\) 的位置就瞎搞一下即可。

D

可以发现,如果一个元素旁边有三种不同的颜色,就挂了。

如果一个地方有两种相邻的不同颜色,而且该轮 \(\text{ban}\) 掉的是剩下的那种颜色,这个地方也填不了。

考虑怎样避免这两种情况:

  • 将网格黑白染色,染成棋盘状。记三种颜色是 \(1,2,3\),其中颜色 \(1\) 是黑色,颜色 \(2\) 是白色。
  • 如果 \(\text{ban}\)\(1\),就选没填的白色填一下。如果白色的位置都被填了,说明黑色的地方瞎填就行了,所以可以任选一个地方填 \(3\)
  • \(\text{ban}\)\(2\) 以此类推。
  • \(\text{ban}\)\(3\) 瞎填即可。

E

https://www.luogu.com.cn/blog/alan-zhao/solution-cf1503c

ARC 119

赛时通过 \(\text{A,B,C}\),排名 \(616\),Performance \(1639\)

A

枚举 \(b\),计算相应的 \(a,c\) 再取最优解即可。

B

首先题目中描述的操作可以看作每个 \(0\) 都可以在它所在的极长 \(1\) 连续段中移动。

有一个关键性质:\(S\) 中的第 \(i\)\(0\),与 \(T\) 中的第 \(i\)\(0\) 相对应。这是因为 \(S\) 中的两个零如果在交换过程中相互跨越了,那么一定不比不跨越优。

于是 \(S\) 中的每个 \(0\) 都可以通过至多 \(1\) 次交换达到目标。找到那些不需要操作的 \(0\) 即可。

C

可以发现若区间 \([l,r]\) 是合法的,那么一定有 \(A_l-A_{l+1}+A_{l+2}-\dots\pm A_{r}=0\)

于是我们可以把所有 \(A_{2i}\gets -A_{2i}\)

这样问题就转化为问 \(A\) 中有多少个区间满足和为 \(0\)

随便做做。

posted @ 2021-05-13 19:27  Alan_Zhao_2007  阅读(50)  评论(0编辑  收藏  举报