1 条题解

  • 0
    @ 2026-9-3 11:07:11

    题解

    思路

    把一种颜色的两个位置看成区间。只要某个颜色区间的两个端点都亮了,区间内部会全部点亮;因此区间 AA 内含有颜色 BB 的任一端点时,AA 可以传播到 BB。

    做法

    建立颜色有向图:若 BB 的至少一个端点严格位于 AA 的两端之间,则连边 A→BA\to B。点亮某个灯泡会立即点亮其同色灯泡,之后能点亮该颜色在图中可达的所有颜色。

    缩点后是 DAG。每个入度为零的 SCC 至少需要选择一个初始灯泡;选择其中任意颜色的任一只灯泡都能激活整个 SCC,所以该 SCC 有 2×size2\times size 种选择。答案为源 SCC 数量,方案数是这些选择数的乘积。

    区间不交叉时不存在由交叉产生的环,源点恰为没有被其他区间包含的最外层区间,每个有两种选择。小规模可以枚举初始灯泡集合并直接模拟闭包。

    复杂度

    简单版显式建图,时间复杂度 O(n2)O(n^2),空间复杂度 O(n2)O(n^2)。

    • 1

    信息

    ID
    1427
    时间
    3000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者