[LMXOI Round 2] Nirvana 题解
Federico2903 · · 题解
0. 前言
应该是一道比较简单的双极定向题,只要你舍得花时间去分类讨论应该就能做。
前置芝士:点双连通分量,圆方树。
1. 思路
原题要求的即是加入一条边后原图存在双极定向的概率,考虑我们连接原图两个点后发生了什么。连接两个点相当于把这两点之间的方点缩成一个方点。
如下图所示:
考虑双极定向存在的条件是原图连接
1. G 是一条链
显然在这种情况中,连接的边除了自环都满足要求。
2. G 仅存在一个三度点,三度点是方点,其余点度数 \le 2
可以选择外挂的这条链的链底方点的任意一个一度圆点(橙色)连接主链的任意圆点(黄色)。
3. G 仅存在一个三度点,三度点是圆点,其余点度数 \le 2
可以选择外挂的这条链的链底方点的任意一个一度圆点(橙色)连接主链的任意圆点(黄色),但不能连接三度点(蓝色)。
4. G 恰存在两个三度点,其余点度数 \le 2
可以选择两条外挂链的链底方点的任意一度圆点连接(橙色,蓝色)。
5. G 恰存在一个四度点,四度点是圆点,其余点度数 \le 2
显然无解。
6. G 恰存在一个四度点,四度点是方点,其余点度数 \le 2
构造方式同
那么算出方案数除以总的方案数就可以得到概率了。
然后随便连边跑双极定向即可。
对于无解的情况,连接
代码:7.47KB。