首页 > 其他分享 >CF1778D - Flexible String Revisit 题解

CF1778D - Flexible String Revisit 题解

时间:2024-12-03 17:21:08浏览次数:7  
标签:frac CF1778D 题解 Revisit Flexible 匹配 dp

CF1778D - Flexible String Revisit

题面

给出两个长度均为 \(n(n\leq 10^6)\) 的 01 串 \(S\) 和 \(T\)

每次随机将 \(S\) 中的某一位取反

问:第一次 \(S = T\) 时操作次数的期望


题解

成环期望的小 \(\text{trick}\),可以避免高斯消元和高阶递推。

如果我们按照经典的期望 \(dp\) 来设 \(f_i\) 表示当前还有 \(i\) 个字符未匹配:

\[f_i = \begin{cases} \frac{1}{n} f_1 + 1 & i = 0 \\ \frac{n - i + 1}{n} f_{i - 1} + \frac{i + 1}{n} f_{i + 1} + 1 & i \in [1, n) \\ \frac{n - 1}{n} f_{n - 1} + 1 & i = n \end{cases} \]

必须要使用二阶递推求系数或者建立系数矩阵进行高斯消元,我们不妨从定义上去改变原有的式子,使得关系式只与一项相关,考虑如下定义:

设 \(f_i\) 表示只剩下 \(i\) 个字符未匹配且本次操作使得一个位匹配的期望操作次数。

由此定义的 \(f_i\) 仅由 \(f_i\) 本身和 \(f_{i + 1}\) 决定,自己匹配的概率是 \(\frac{i}{n}\),否则会取消一个位的匹配,既然取消了我们必须将他翻转回来,这就和 \(dp_{i + 1}\) 相关。

可以列出式子 \(dp_i = \frac{i}{n} + \frac{n - i}{n}(dp_i + dp_{i + 1} + 1)\),化简可得:

\[dp_i = \frac{n}{i} + \frac{n - i}{i}dp_{i + 1} \]

设初始状态未匹配的个数为 \(x\),我们只需求出 \(\sum\limits_{i = 1}^{x}dp_i\) 即可。

参考代码

标签:frac,CF1778D,题解,Revisit,Flexible,匹配,dp
From: https://www.cnblogs.com/YipChipqwq/p/-/CF1778D

相关文章

  • 题解:CF176B Word Cut
    https://www.luogu.com.cn/problem/CF176B没看懂其他题解为什么说"可以发现,只要能从一个串变成一个串,都可以通过仅一次变换得到"。转化将题目中的操作转化一下:对于一个串\(s\),将串\(s\)复制一份接到\(s\)末尾,然后选择一段长度\(n\)的子串。发现:经过一次操作后,接下来......
  • 题解:AT_abc138_f [ABC138F] Coincidence
    https://www.luogu.com.cn/problem/AT_abc138_f对于\(x\ley\):若\(2x\ley\),则\(y-x>y\bmodx\)。若\(2x>y\),则\(y-x=y\bmodx\)。有\(x\oplusy\gey-x\)。当\(2x\ley\)时,不可能存在\(y\bmodx=x\oplusy\)了。现......
  • 题解:AT_abc372_f [ABC372F] Teleporting Takahashi 2
    https://www.luogu.com.cn/problem/AT_abc372_f简单易懂易写。考虑一步一步走。要么顺着环走,要么走那\(m\)条边。设\(id(k,i)=(i-1-k)\bmodn+1\)。设\(g_{k,id(k,i)}\)表示走了\(k\)步走到\(i\)的方案数。这样设计下标就不需要管顺着环走了。顺着环走......
  • 题解:CF843D Dynamic Shortest Path
    https://www.luogu.com.cn/problem/CF843DluoguRMJ加油.......如果每修改一次就dij复杂度\(O(q(n+m\logn))\)过不去的。暴力dij是因为值域很大需要用到堆,带个log,要是值域很小就可以直接分层BFS了……每次增加的边权很小,求最短路增量?设\(dis_i\)表示这次修......
  • 题解:AT_abc356_f [ABC356F] Distance Component Size Query
    https://www.luogu.com.cn/problem/AT_abc356_f前言纪念我场上WA8发没调出来,最后发现是1e18的问题。题目传送门:[ABC356F]DistanceComponentSizeQuery。不会线段树分治怎么办???那就用set+01-trie。思路一个联通块内的元素在值域上也是连续的,考虑维护一个联通快内......
  • 题解:CF1827C Palindrome Partition
    CF1827CPalindromePartition题解题面题目传送门。称一个字符串是好的,当且仅当它是一个长度为偶数的回文串或由若干长度为偶数的回文串拼接而成。给定一个长度为\(n\)的字符串\(s\),求有多少\(s\)的子串是好的。$1\len\le5\cdot10^5\(,\)s$仅包含小写字母。与......
  • 题解:CF1968G2 Division + LCP (hard version)
    https://www.luogu.com.cn/problem/CF1968G2CF1968G2Division+LCP(hardversion)题解前言这题可以\(O(n\sqrt{n}\logn)\)再各种优化做,算法是二分、哈希(不知道包不包含根号分治,但是有用到根号分治的思想)。如果读题解有些抽象的话可以看代码辅助理解。题意转化由于......
  • 题解:P10217 [省选联考 2024] 季风
    P10217[省选联考2024]季风题解题目传送门。初步化简题目注:本篇题解的所有下标均从\(1\)开始。设\(sumx_h\)表示\(\sum_{i=1}^{h}{x_i}\),\(sumy_i\)表示\(\sum_{i=1}^{h}{y_i}\)。于是题目给出的三个公式可以转化为:\((\sum_{i=1}^{m}{x_{i}^{′}})+sumx_{[(m-1......
  • 题解:AT_abc282_h [ABC282Ex] Min + Sum
    [ABC282Ex]Min+Sum题解题面传送门。题目要求有多少对\((l,r)\)满足\(1\lel\ler\len\)且\(\sum_{i=l}^{r}{b_i}+\min_{i=l}^{r}{a_i}\leS\)。考虑CDQ分治,那么我们需要不断寻找有多少对\((l,r)\)满足\(L\lel\leM<r\leR\)且\(\sum_{i=l}^{r}{b......
  • 【Mysql 数据库 undo log 文件无限膨胀,性能下降问题解决方案】
    数据库undolog文件无限膨胀,性能下降问题解决方案1.问题描述在Mysql数据目录中发现有个undo文件非常大,并且持续增长并且Historylistlength非常大------------TRANSACTIONS------------Trxidcounter3569860310Purgedonefortrx'sn:o<3185146100......