luogu#P11531. [THUPC2025 初赛] 检查站
[THUPC2025 初赛] 检查站
题目描述
小 I 是一个巨大的铁路公司的主管,他管理着 个火车站,用 至 的整数给它们编号。铁路公司有 个分部,第 个分部的办公室位于火车站 。可能有火车站没有分部办公室,一个火车站也有可能有多个分部办公室。
个火车站之间由 条单向铁路连接,其中第 条铁路由火车站 连向 ,属于分部 管辖。为了保证管理方便,分部 的办公室要么在 ,要么在 。
火车站 (港口)和 (首都)是公司管辖范围内最繁忙的车站。为了保障进口货物安全,根据交通运输部的要求,小 I 需要在一些铁路上设立检查站,使得从火车站 到火车站 的所有可能路线上都有一个有检查站的铁路。
小 I 可以通知一些分部(也可以不通知任何分部),要求这些分部在它们管理的所有铁路上设立检查站。小 I 想知道,最少需要通知多少个分部才可以达到要求。作为新上任的算法工程师,你准备给小 I 露一手。
输入格式
输入的第一行三个整数 ,分别表示火车站数量、铁路数量和分部数量。
接下来一行 个整数 ,描述每个分部所在的火车站编号。
接下来 行每行三个整数 $u_i, v_i, r_i (1 \le u_i, v_i \le n, 1 \le r_i \le c)$,描述一条铁路。保证 或 。
输出格式
输出一行一个整数表示最少需要通知的分部数量。
5 10 3
3 1 4
1 3 1
4 3 1
3 2 1
3 5 1
1 2 2
2 1 2
1 4 2
5 1 2
1 4 3
4 5 3
2
提示
样例解释
该样例的铁路组织如下图所示,其中红色、绿色和黑色分别为 1、2、3 分部管辖的铁路。最优策略是通知分部 1 和 3。
题目来源
题目来自 THUPC2025(2025年清华大学学生程序设计竞赛暨高校邀请赛)初赛,信息来源于 THUSAAC 仓库。