1 条题解

  • 0
    @ 2026-9-3 10:49:18

    题解

    思路

    把每个数值看成会沿有向边传播的单位。图是 DAG 且只有一个汇点,所以每个点都能到达汇点。经过 nn 秒后,若仍有剩余数值,汇点之后会一直工作到全部清空,不再出现空档。

    设 waysuways_u 是从 uu 到唯一汇点的路径数。在模 998244353998244353 意义下,当前位于 uu 的一个剩余单位最终会使汇点多工作 waysuways_u 秒。

    做法

    子任务 1 直接按秒模拟,直到所有数值为零。

    子任务 2 中每个点到汇点只有一条路,因此模拟至多 nn 秒后,剩余时间就是 ∑ai\sum a_i。

    满分做法先模拟至多 nn 秒;若已清空则直接输出。否则按逆拓扑序计算

    waysu=∑(u,v)∈Ewaysv,ways_u=\sum_{(u,v)\in E}ways_v,

    汇点的 waysways 为 11。答案是已模拟的 nn 秒加上 ∑auwaysu\sum a_uways_u。

    复杂度

    满分算法时间复杂度 O(n(n+m))O(n(n+m)),空间复杂度 O(n+m)O(n+m)。

    • 1

    信息

    ID
    1324
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者