sol
Meet-in-the-middle。设$f_i$表示右端$R_1,R_2,R_3$三个点能够匹配左边的三元组的集合为$i$的概率,其中$i$是一个$\binom{6}{3} = 20$位二进制数,第$0$位表示匹配$(L_1,L_2,L_3)$,第$1$位表示匹配$(L_1,L_2,L_4)$,以此类推。这个东西可以$O(2^{\frac{n^2}{2}}\binom{n}{3})$爆搜。
sol
设一个$128$位数$k$表示当前有哪些$L$的子集能与当前的$R$匹配。因为Hall定理等各种因素,能够满足二分图匹配条件的$k$的数量只有$S=64184$种,我们考虑把这些状态搜出来。我们用bitset存$k$,每一次考虑在当前的$R$上新加入一个点,枚举$R$的连边情况然后更新$k$的取值。这一部分的复杂度可以做到$O(S\frac{n2^{2n}}{w})$,稍微大一点也没关系反正跑得过。