做题记录 25.6.6
\(\textcolor{blue}\odot\) CF1781E Rectangle Shrinking
最优解为取到原本所有矩形的并
划分为三部分:占据第一行,占据第二行,占据两行
每部分内部的调整是容易的,前两部分之间显然没有影响,考虑第三部分对前两部分的影响
对于第三部分中的矩形,若上半部分完全包含于第一行中的一个矩形,则砍掉上半部分,否则删去它覆盖到的矩形(或矩形的一部分),下半部分同理
可以用单调栈维护,也可以用 \(\text{odt}\)
时间复杂度 \(O(\sum n\log n)\)
\(\textcolor{blue}\odot\) CF1780F Three Chairs
令 \(c_x\) 为 \(a_i=x\) 的数量,令 \(s\) 为其前缀和,令 \(N=\max a_i\),则答案为
容易 \(O(N\ln N)\) 求出
\(\textcolor{blue}\odot\) CF1780E Josuke and Complete Graph
答案等于
数论分块即可
时间复杂度 \(O(\sum \sqrt l)\)
\(\textcolor{purple}\odot\) CF1780G Delicious Dessert
求出 \(\text{sa}\) 和 \(\text{height}\),从大到小枚举 \(\text{lcp}\) 长度为 \(i\),用并查集维护等价类,令 \(c_x\) 为大小为 \(x\) 的等价类数量,则 \(i\) 的贡献为 \(\sum_{i\mid x}c_x\cdot x\)
\(\textcolor{blue}\odot\) CF1779F Xorcerer's Stones
考虑通过若干次操作令整棵树所有点权异或和变为 \(0\),此时再操作一次点 \(1\) 即可
当 \(2\nmid sz_u\) 时,操作 \(u\) 不会改变子树 \(u\) 内权值的异或和,因此操作无效,因此只考虑 \(2\mid sz_u\) 的 \(u\)
显然 \(2\mid sz_u\) 的 \(u\) 至多操作一次(除了最后操作 \(1\) 的一步)
考虑树形 \(dp\),令 \(f_{u,v,x}\) 表示要令结点 \(u\) 和其编号 \(0\sim x\) 的子树中所有权值的异或和为 \(v\),最后一个部分(\(u\) 本身,每个子树,分别视为一个部分)的异或和,若无法做到则为 \(-1\),若子树内只操作结点 \(u\) 则为 \(-2\)
显然 \(f_{u,a_u,-1}=a_u\)
转移枚举编号为 \(i\) 的子树 \(v\)
其中 \(ls(u)\) 表示最后一个子树的编号
若 \(2\mid sz_u\) 则 \(f_{u,0,ls(u)}\gets -2\)
时间复杂度 \(O(n\omega^2)\),其中 \(\omega=32\)
\(\textcolor{blue}\odot\) CF1779E Anya's Simultaneous Exhibition
竞赛图,因此答案为缩点后第一个 \(\text{SCC}\) 中的全体点,先 \(n\) 次查询求出每个点的入度(可以优化到 \(n-1\) 次),然后根据兰道定理求出合法点集
\(\textcolor{blue}\odot\) CF1498E Two Houses
无需询问,根据兰道定理直接通过 \(k\) 求出所有 \(\text{SCC}\),容易求出答案,时间复杂度 \(O(n\log n)\),可优化到 \(O(n)\)
\(\textcolor{purple}\odot\) CF1778E The Tree Has Fallen!
把树展开为序列,则题目中的子树对应 \(\text{dfn}\) 的一个区间或一段前缀加一段后缀,倍长,则都是区间的形式,前缀线性基即可,时间复杂度 \(O(n\log V+q\log V)\)

浙公网安备 33010602011771号