做题记录 25.6.9

\(\textcolor{purple}\odot\) CF1771F Hossam and Range Minimum Query

\(f_{i,j}\)\(a_{1\sim i}\)\(j\) 出现次数的奇偶性,则区间 \([l,r]\) 的答案为 \(\text{lcp}(f_{l-1},f_r)+1\),可持久化线段树维护哈希即可,时间复杂度 \(O(n\log n+q\log n)\),空间复杂度 \(O(n\log n)\)

代码

\(\textcolor{purple}\odot\) CF1773D Dominoes

黑白染色建立二分图,题目保证存在完美匹配,问题转化为求出有多少 \((x,y)\) 满足删去两点后图不存在完美匹配

删去两点在同一集合中时显然合法,答案为 \(2\binom{C}2\),其中 \(C\) 为左部点和右部点的点集大小,因此 \(2\binom C2>10^6\) 时直接输出 \(10^6\) 即可,之后只需要处理 \(2\binom C2\le 10^6\) 的情况

删去两点在不同集合时,枚举删去的左部点,求出最大流(显然等于 \(C-1\))后其对应删去的右部点为当前二分图最大匹配的必经点,在残量网络上 \(\text{bfs}\) 即可

直接网络流可做到 \(O(C^2\sqrt C)\),使用退流可做到 \(O(C^2)\)

代码

参考

\(\textcolor{purple}\odot\) CF1773G Game of Questions

发现一道题做多次不会影响结果

\(f_s\) 表示剩余的子集为 \(s\) 时获胜的概率,显然 \(f_s=0\;\;\text{if}~0\notin s\)

\(v_i\) 为会第 \(i\) 题的人的子集,令 \(g_{s,t}=\sum_i[s\cap v_i=t]\)

对于 \(1\in s\),显然 \(f_s=\frac1{n-g_{s,0}-g_{s,s}}\sum_t f_t g_{s,t}\),若 \(n-g_{s,0}-g_{s,s}=0\)\(s\) 为最终状态,\(f_s=1\)

考虑如何计算 \(g\)

\(x\) 为任意一个不在 \(s\) 中的元素,则

\[\begin{aligned} g_{s,t}=&\sum_i[s\cap v_i=t]\\ =&\sum_{x\in v_i}[s\cap v_i=t]+\sum_{x\notin v_i}[s\cap v_i=t]\\ =&\sum_{x\in v_i}[(s\cup \{x\})\cap v_i=(t\cup\{x\})]+\sum_{x\notin v_i}[(s\cup \{x\})\cap v_i=t]\\ =&g_{s\cup\{x\},t\cup\{x\}}+g_{s\cup\{x\},t} \end{aligned} \]

枚举即可

时间复杂度 \(O(nm+3^m)\)

代码

参考

\(\textcolor{blue}\odot\) CF1771E Hossam and a Letter

预处理每个位置向上向下只经过 \(\text .\)、至多经过一次 \(\text m\) 所能走的最大距离,然后枚举 \(\text H\) 的水平线段即可

时间复杂度 \(O(nm^2)\)

代码

\(\textcolor{purple}\odot\) CF1770E Koxia and Tree

类似 NFLS #18040. aw

对于每条边 \((u,v)\) 预处理 \((c_u,c_v)\),分别表示初始时两侧标记数量,令 \(p_u\) 表示点 \(u\) 存在标记的概率

按顺序依次考虑每条边 \((u,v)\)

若定向为 \(u\to v\),则 \(p_u(1-p_v)\) 的概率贡献为 \((c_u-1)(c_v+1)\),剩余情况贡献为 \(c_uc_v\)

定向为 \(u\gets v\) 同理

总贡献为

\[\begin{aligned} &\frac12\left(c_uc_v(1-p_u(1-p_v))+(c_u-1)(c_v+1)p_u(1-p_v)\right)+\frac12\left(c_uc_v(1-p_v(1-p_u))+(c_u+1)(c_v-1)p_v(1-p_u)\right)\\ =&c_uc_v+p_up_v+\frac12(p_u(c_u-c_v-1)+p_v(c_v-c_u-1)) \end{aligned} \]

经过操作后显然 \(p_u=p_v\gets \frac12(p_u+p_v)\)

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

代码

\(\textcolor{blue}\odot\) CF1768E Partial Sorting

答案上限显然为 \(3\)

答案为 \(0\) 显然只有一种方案,答案 \(\le 1\) 方案数为 \(2(2n)!-n!\),答案 \(\le 3\) 方案数显然为 \((3n)!\),考虑求出答案 \(\le 2\) 的方案数

答案 \(\le 2\) 当且仅当 \(1\sim n\)\([1,2n]\) 中,或 \(2n+1\sim 3n\)\([n+1,3n]\)

满足前者或满足后者的方案数都是 \(\binom{2n}nn!(2n)!\),考虑求出重复部分,即 \(1\sim n\)\([1,2n]\) 中且 \(2n+1\sim 3n\)\([n+1,3n]\)

枚举 \(1\sim n\) 中有 \(i\) 个在 \([n+1,2n]\)\(n-i\) 个在 \([1,n]\) 中,\([1,n]\) 中剩余 \(i\) 个位置放置 \(n+1\sim 2n\) 中的数,\([n+1,2n]\) 中剩余 \(2n-i\) 个位置中选出 \(n\) 个放置 \(2n+1\sim 3n\),剩余位置放置 \(n+1\sim 2n\),总方案数为 \(\binom ni\binom{n}{n-i}\binom{2n-i}n(n!)^3\)

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

代码

参考

\(\textcolor{purple}\odot\) CF1767E Algebra Flash

每种颜色建立一个点,选择一个点代表删除一种元素,则 \(c_i\)\(c_{i+1}\) 对应的点之间连边,\(c_1\)\(c_n\) 分别连自环(强制保留),问题转化为不超过 \(40\) 个点的最大权独立集问题,记忆化搜索即可,时间复杂度 \(O(n+2^{\frac m2})\)

代码

参考

posted @ 2025-06-10 07:02  Hstry  阅读(2)  评论(0)    收藏  举报