做题记录 25.5.1

\(\textcolor{blue}\odot\) CF1876D Lexichromatography

设值 \(x\) 分布在位置 \(s_1,s_2,\cdots,s_k\) 中,则对于任意 \(1\le i<k\)\(s_i\)\(s_{i+1}\) 不同色

发现 \(p\) 的字典序大于 \(q\) 的字典序的方案数等于 \(p\) 的字典序小于 \(q\) 的字典序的方案数,由于总方案数为 \(2^c\),其中 \(c\) 为出现的数字种类数,因此求 \(p,q\) 相同的方案数即可得到答案

当存在一种数字出现奇数次时显然方案数为 \(0\)

否则对于同一种数字出现的位置,从左到右两两匹配,则每组匹配中恰好一个属于 \(p\),另一个属于 \(q\)

若存在两组匹配互相包含,显然方案数为 \(0\)

若匹配 \((a,c)\)\((b,d)\) 相交,假定 \(a<b<c<d\),则 \(a,b\) 同色,\(c,d\) 同色,\(a,b\)\(c,d\) 之间异色

因此从左到右扫描匹配对,将当前匹配对和与之有交的最后一个匹配对连边,则答案为 \(2^u\),其中 \(u\) 为连通块数量

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

代码

参考

\(\textcolor{purple}\odot\) CF1879E Interactive Game with Coloring

显然对于任意树,从上到下每一层依次取 \(1,2,3\) 一定合法,因此答案上界为 \(3\)

答案为 \(1\) 当且仅当树为菊花,因此考虑何时答案取到 \(2\)

当不存在恰好一个儿子的结点时,显然可以 \(1\)\(2\) 交错,到一个点时选择出边数量为 \(1\) 的颜色即可,答案可以取到 \(2\)

当存在恰好一个儿子的结点且这些结点的深度奇偶性相同,则除根外所有恰好一个儿子的结点向父亲的边的颜色相同,移动时若到达的点只有一个儿子则取这种颜色,否则按普通情况

实际上只需要保证根的每棵子树分别满足这一条件即可

综上:

  1. 为菊花时答案为 \(1\)
  2. 对于根的任意一个子树,其中所有恰好一个儿子的结点的深度奇偶性相同时,答案为 \(2\)
  3. 否则答案为 \(3\)

容易 \(O(n)\) 构造和移动

代码

参考

posted @ 2025-05-02 14:45  Hstry  阅读(3)  评论(0)    收藏  举报