PKUWC2019 D1T1 发表于 2021-05-01 分类于 题解 , 杂题 Valine: 本文字数: 370 阅读时长 ≈ 1 分钟 PKUWC2019 D1T1 不知道题目名 题面: nnn 个点,mmm 条边的无向图,每条边可以存在/不存在,求在所有 2m2^m2m 的状态中合法的拓扑序数量 n≤20,m≤n(n−1)2n \le 20,m \le \frac{n(n-1)}{2}n≤20,m≤2n(n−1) Solution: 考虑 2m2^{m}2m 的边的状态是没法做的,反向考虑每个点所能 “贡献" 的合法的边的状态 具体来说设 dpSdp_SdpS 表示当前的拓扑序集合 SSS 所能确定的边的状态,考虑加入新点 xxx 使得 S→S′S \rightarrow S'S→S′ 对于所有 xxx 的入边 (u,x)(u,x)(u,x) ,如果 u∈Su \in Su∈S 那么这条边可存在也可不存在,否则必须不存在 这样就能更新能确定的边,最终答案是 dpVdp_{V}dpV 因为没地方交就不写了(也没啥好写的