计数题乱做

计数水平下滑非常严重,于是来练计数题了。

[AGC056B] Range Argmax(自己做出)

AGC 的 B 题要花这么久,我是普及组选手。

先考虑判定性问题,即 \(\{x_1,x_2,\cdots,x_m\}\) 何时合法。考虑先确定 \(\text{argmax}[1,n]\)。显然,\(x_p\) 能够成为 \(\text{argmax}[1,n]\),当且仅当所有包含 \(p\) 的区间的 \(\text{argmax}\) 均为 \(p\)。不妨令 \(x\) 为满足条件的 \(p\) 中最小的一个。此时 \([1,x),(x,n]\) 是独立的子问题,递归地构造即可。

再考虑计数。考虑区间 \(\text{dp}\)。令 \(f_{l,r}\) 表示 \([l,r]\) 的答案,枚举 \(x \in [l,r]\) 并钦定 \(\text{argmax}[l,r]=x\) 并从 \(f_{l,x-1},f_{x+1,r}\) 两边转移过来。但需要注意,\([l,x)\) 中不得存在满足要求的 \(p\),这要求必须存在 \([l_i,r_i]\) 同时包含 \(\text{argmax}[l,x)\)\(x\)。也就是说,我们可能对 \(\text{argmax}[l,r]\) 进行了限定,从而要再加一维 \(u\) 表示要求 \(\text{argmax}[l,r] \ge u\),然后就能正常转移了。

时间复杂度 \(O(n^3)\)

[AGC055D] ABC Ultimatum(看了题解)

Lemma. 有解当且仅当

\[\max_{1 \le p \le 3n} \{[1,p,B]-[1,p,A]\}+\max_{1 \le p \le 3n}\{[1,p,C]-[1,p,B]\}+\max_{1 \le p \le 3n}\{[1,p,A]-[1,p,C]\} \le n \]

其中 \([l,r,c]\) 表示 \([l,r]\) 中字符 \(c\) 的出现次数。

必要性显然。充分性不管。

那么直接 \(O(n^6)\)\(\text{dp}\) 就好了,维护前缀中三种字符的出现次数以及三个值,转移是 \(O(1)\) 的。

CF1146F(自己做出)

简单树形 \(\text{dp}\) 题。

考虑从每个叶子节点往上延申,到某个祖先处终止。那么连通子图两两不交,等价于每个点被延伸到的次数不超过 \(1\)

那么设计 \(\text{dp}\) \(f_u/g_u/h_u\) 表示,传上来的儿子有 \(0/1/2\) 个的方案数。则有转移:

\[f_u = \prod_{v \in \text{son}\{u\}} (f_v+h_v) \]

\[g_u = \sum_{v \in \text{son}\{u\}} (g_v+h_v) \prod_{v' \in \text{son}\{u\}, \ v' \neq v} (f_{v'}+h_{v'}) \]

\[h_u = \sum_{p_1,p_2,\cdots,p_k(k \ge 2,p_i \in \text{son}\{u\})} \prod_{i=1}^k (g_{p_i}+h_{p_i}) \prod_{v \in \text{son}\{u\},v \notin p} (f_v+h_v) \]

其中 \(\text{son}\{u\}\) 表示 \(u\) 的儿子集合。对于叶子 \(u\),边界为 \(f_u=g_u=0,h_u=1\)。答案为 \(f_1+h_1\)

随便优化就线性了。

CF1615F(看了题解)

先考虑如何判定 \(s\) 能否达 \(t\)。考虑将 \(s,t\) 的偶数位反转,则每次操作等价于交换 \(s\) 的两位。那么可达当且仅当 \(s,t\)\(1\) 的数量相等。

再考虑如何计算 \(s\)\(t\) 的最少步数。将 \(s,t\)\(1\) 的位置分别从前往后列出,则最少步数为两个对应位置差的绝对值之和。

然后随便 \(\text{dp}\) 一下就好了,从前往后,从后往前,维护当前匹配的两个 \(1\) 分别在什么位置,那么每次转移都相当于矩形查询,维护前缀和即可,时间复杂度 \(O(n^2)\)

posted @ 2023-02-01 18:09  ducati❤OI  阅读(178)  评论(0)    收藏  举报