1 条题解

  • 0
    @ 2025-8-24 23:03:53

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar zhouyuhang
    Bénédiction de Dieu dans la solitude

    搬运于2025-08-24 23:03:53,当前版本为作者最后更新于2024-08-08 19:57:35,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    首先对问题进行转化。构造 n+mn + m 个点的有向图 GG:将 (x,y,R)(x, y, R) 操作视为向 GG 中加入 y+nxy + n \to x 的有向边,将 (x,y,C)(x, y, C) 视为加入 xy+nx \to y + n 的有向边,并要求在每次加边时两端点入度均为 00。此时,kk 即为 GG 的边数,答案即为 GG 的数量。接下来,我们将借助这一构造说明 k=n+m1k = n + m - 1

    首先说明 kn+m1k \le n + m - 1。将 GG 视作无向图,下面将说明,GG 中必然不存在环。考虑反证,如果图中存在环 (C1,C2),(C2,C3),,(Ck,C1)(C_1, C_2), (C_2, C_3), \cdots, (C_k, C_1),不妨设 (C1,C2)(C_1, C_2) 的方向为 C1C2C_1 \to C_2,那么 (C2,C3)(C_2, C_3) 的方向就只能为 C2C3C_2 \to C_3,否则 C1C2C_1 \to C_2C3C2C_3 \to C_2 无论谁先谁后都会导出矛盾……以此类推,一直到 (Ck,C1)(C_k, C_1) 的方向只能为 CkC1C_k \to C_1。不妨设 (C1,C2)(C_1, C_2) 是环中最后一个被操作的边,在它被操作前,(Ck,C1)(C_k, C_1) 已经被定向为 CkC1C_k \to C_1C1C_1 的入度不为 00,从而导出矛盾。因此,将 GG 视为无向图后其中不存在环,即有 kn+m1k \le n + m - 1

    接下来说明 k=n+m1k = n + m - 1 能够取到。此时将 GG 视为无向图,其必然为一棵树。而在刚刚的证明过程中,我们发现,在最终的定向结果中,不能同时存在 xzx \to zyzy \to z 这样的两条边。这也就意味着最终每个点的入度都不超过 11。而入度的总和为 n+m1n + m - 1,这就说明恰有 11 个点(记其为 xx)入度为 00,剩余的点入度恰为 11——实际上,这就是一颗以 xx 为根的外向树。而对于这样一颗外向树,我们只需不断操作叶子结点的连边,即可满足连边时两端点入度为 00 的限制。因此,每一棵外向树都是可行的,kk 自然可以取到 n+m1n + m - 1

    至此,我们已经可以顺理成章地得到计数做法。注意到在外向树根节点的选择中,每个点都是可行的,因此每颗树都可以衍生出 (n+m)(n + m) 个不同的外向树。哪些树是可行的呢?不难发现,Kn,mK_{n, m} 的每一颗生成树均可行。而 Kn,mK_{n, m} 的生成树个数是一个经典问题,展开行列式即可知其答案为 nm1mn1n ^ {m - 1} m ^ {n - 1},故原问题答案即为 f(n,m)=(n+m)nm1mn1f(n, m) = (n + m) n ^ {m - 1} m ^ {n - 1}。预处理 iji ^ j 并计算,复杂度即为 O(nm)O(nm)

    本题也存在一些高复杂度的更加复杂的做法,欢迎大家在题解区分享。

    • 1

    信息

    ID
    9929
    时间
    1000ms
    内存
    512MiB
    难度
    5
    标签
    递交数
    0
    已通过
    0
    上传者