分析 考虑状压DP,令\(f[sta]\)表示已匹配状态是\(sta\)(\(0\)代表已匹配)时完美匹配的期望数量,显然\(f[0]=1\). 一条边出现了不代表它一定在完美匹配内,这也导致很难去直接利用题目中的边组来解决问题. 对于第二类边组,如果把两条边分开考虑(可以理解为把一个第二类的边组看成两个第一类的边组).如果只有一条边出现在了完美匹配中,此时的贡献是\(50\%\),显然是正确的.如果两条边都出现在了完美匹配中,此时的贡献是\(50\% \times 50\% = 25\%\),…
期望好题. 发现 \(n\) 非常小,应该要想到状压的. 我们可以先只考虑 0 操作. 最难的还是状态: 我们用 \(S\) 表示左部点有哪些点已经有对应点, \(T\) 表示右部点有哪些点已经有对应点,\(f[S][T]\) 表示从一条边没连到此状态的期望方案数 这样就有转移: \[f[S][T] <- \sum_{s \in S,t \in T}f[S \oplus s][T \oplus t] * p(s, t) \] 也就是说,从没选的点中选俩点连边.不过这可能会算重(先连 \(e_1\…
题目:https://www.luogu.org/problemnew/show/P4547 https://www.lydsy.com/JudgeOnline/problem.php?id=5006 参考博客:https://www.cnblogs.com/yanshannan/p/9452802.html 注意同一个点连出去的两条边本来就不能一起选! 每次调用 map 会很慢!所以修改的时候新定义一个 &tmp,就能过了. 代码如下: #include<cstdio> #inclu…
题目链接 LOJ:https://loj.ac/problem/2290 洛谷:https://www.luogu.org/problemnew/show/P4547 Solution 首先考虑只有第一类边的情况,那么每种完美匹配一定会由\(n\)个边组组成,概率就是\(1/2^n\),对答案贡献为\(1\),那么问题就转化成了统计完美匹配个数. 设\(f[s1][s2]\)表示当前左边情况为\(s1\),右边为\(s2\),在把其他的点填满可以得到的完美匹配的种类数,然后就是普及组\(dp\)…
传送门 考虑如果只有$0$组边要怎么做.因为$N \leq 15$,考虑状压$DP$.设$f_i$表示当前的匹配情况为$i$时的概率($i$中$2^0$到$2^{N-1}$表示左半边的匹配情况,$2^N$到$2^{2N-1}$表示右半边的匹配情况),转移就是随便取一条边将其起终边对应的位置去掉然后乘上$0.5$. 然而会发现这会重复转移,也就是说先选择$a$再选择$b$与先选择$b$再选择$a$在计算中被算作了两种情况,但实际上只能够算作一种.我们考虑固定$DP$的顺序.我们每一次选择$lowb…
https://loj.ac/problem/2290 题解:https://blog.csdn.net/Vectorxj/article/details/78905660 不是很好理解,对于边(x1,y1)和(x2,y2),可以分“x1或y1已匹配”,“x2或y2已匹配”,“x1,x2,y1,y2均未匹配”三种情况考虑拆边的正确性. 状压的时候,对于当前左边已经匹配的集合,只需要枚举左边已匹配的最后一个是用哪条边匹配的即可,也就是程序里的S<(1<<T). 不要用顺推,记忆化搜索会忽略…
题面链接 洛谷 sol 唯一的重点是拆边... 0的不管,只看1.2. 先无论如何把两条边的边权赋为\(0.5\)然后我们发现如果两个都选了. 对于第一种边,我们发现如果\(\frac{1}{2} * \frac{1}{2}=\frac{1}{4}\),但我们实际上需要的是\(\frac{1}{2}\)所以我们连一条两条边都在内的边,权值为\(\frac{1}{4}\) 同理,第二种就是\(-\frac{1}{4}\) 然后就是状压\(dp\) #include<map> #include&l…
题意 分析 考虑一个图能被若干简单环覆盖,那么一定是每个点恰好一个出度,恰好一个出度 于是类似最小路径覆盖的处理,我们可以把每个点拆成2个点i和i',如果有一条边(i,j),那么将i和j'连起来 那么问题就等价于求这个二分图的完美匹配的个数 求完美匹配个数是个np问题,但这里n<=20,很容易想到用状压dp做 dp[i][s]表示左边前i个点都匹配了,右边的点匹配情况是s的时候的方案数…
根据题意,题目中所求的即为所有\(n!\)种完美匹配的各自的出现概率之和再乘上\(2^n\)的值. 发现\(n\)很小,考虑状压\(DP\).设\(f_{S,T}\)为左部图匹配情况为\(S\),右部图匹配情况为\(T\)的期望,可以得到转移为: \[ f_{S,T}=\sum_{x \subseteqq S \land y \subseteqq T }f_{S \oplus x,T \oplus y} \times p_e \] 其中\(x,y\)为边\(e\)的在两个部图的两个端点,\(p_…
题目: 洛谷 3343 BZOJ 3925 分析: 谁给我说这是个期望概率神题的,明明没太大关系好吧 「提示」里那个结论哪天想起来再问 Jumpmelon 怎么证. 首先,由于开始修路前 \(e_i\) 就已知了,所以显然是按照 \(e_i\) 从小到大的顺序修,直到连通.代价就是最后加入的边的权值. 这个提示非常地良心,同时结合期望的线性性可以发现答案就是对于所有的 \(k(0\leq k\leq m)\) ,任选 \(k\) 条边 恰好 连通 \(n\) 个点的概率乘上第 \(k\) 大的边…