QOJ.ac

QOJ

実行時間制限: 6 s メモリ制限: 2048 MB 満点: 100

#2804. 旅行指南

統計

巴黎有许多酒店。有些酒店离奥利(Orly)机场非常近,这对于在早班机前过夜的旅客非常有用。有些酒店离巴黎圣母院(Notre-Dame)非常近,这让游客可以在黎明时分漫步在“圣路易岛(Île Saint-Louis)”并欣赏塞纳河畔的风景。最后,还有一些酒店离巴黎迪士尼乐园(Disneyland Paris)度假区更近,这是游客访问量最大的景点。来到巴黎的旅客通常希望住在离这三个主要兴趣点(POI):奥利、巴黎圣母院和迪士尼乐园较近的地方。

你受雇于一家旅行社,你的经理安娜(Anna)想要准备一份酒店列表,以包含在她新的旅游指南中。她的指南为地铁网络的每个车站提供一个条目。安娜注意到,有些车站相对于这三个兴趣点的距离而言位置并不方便,因此她的指南不应包含这些“无用”车站的酒店部分。

安娜认为,当另一个车站离所有兴趣点都更近时,该车站就是无用的。形式化地说,如果存在另一个车站 $B$,使得 $B$ 到三个兴趣点的距离都小于或等于 $A$ 到对应兴趣点的距离,且 $B$ 到至少一个兴趣点的距离严格小于 $A$ 到该兴趣点的距离,则车站 $A$ 是无用的。如果一个车站不是无用的,那么它就是有用的。

安娜问你,她的指南中有多少个车站会有酒店部分。为了计算这个列表,你得到了地铁网络的规划图。地铁网络的规划图是一个无向加权图。在这个图中,每个节点对应一个车站(注意每个兴趣点也是一个车站);每条边连接两个车站,并且在任一方向上通过都需要一定的时间。该图是连通的,任意两个车站之间的距离是连接这两个节点的路径的总时间最小值。

输入格式

输入包含多行,每行由以空格分隔的整数组成: 第一行包含节点数 $N$ 和边数 $E$。 接下来的 $E$ 行,每行描述一条边,包含三个整数 $A$、$B$ 和 $W$: $A$ 和 $B$ 是边的端点(编号从 $0$ 到 $N - 1$); $W$ 是边的权重。

在图中: 奥利(Orly)对应车站 $0$; 巴黎圣母院(Notre-Dame)对应车站 $1$; * 迪士尼乐园(Disneyland)对应车站 $2$。

数据范围

  • $4 \leqslant N \leqslant 100\,000$;
  • $E \leqslant 500\,000$;
  • $1 \leqslant w \leqslant 100$。

输出格式

输出应包含一行,其内容为一个整数,即有用车站的数量。

样例

样例输入 1

5 4
0 3 1
1 3 1
2 3 1
4 3 1

样例输出 1

4

说明 1

该图在右侧描绘,其中 Gare du Nord 为节点 $3$,La Défense 为节点 $4$。在此图中,有四个车站是有用的:奥利、迪士尼乐园、巴黎圣母院和 Gare du Nord。对应于奥利、迪士尼乐园、巴黎圣母院的车站是离它们自身最近的车站。除了 Gare du Nord(它到所有兴趣点的距离为 $1$)之外,所有车站到某个兴趣点的距离为 $2$。最后,La Défense 是无用的,因为它到所有兴趣点的距离都是 $2$。例如,奥利到巴黎圣母院和迪士尼乐园的距离与 La Défense 相同,但到奥利本身的距离严格更近,因此奥利证明了车站 La Défense 是无用的。

样例输入 2

5 6
0 3 1
1 3 1
2 3 1
4 3 1
0 1 1
0 2 1

样例输出 2

3

说明 2

在此图中(在右侧描绘),有三个车站是有用的:奥利、迪士尼乐园和巴黎圣母院。对应于奥利、迪士尼乐园、巴黎圣母院的车站是离它们自身最近的车站。除了 Gare du Nord(它到所有兴趣点的距离为 $1$)以及奥利(它到所有兴趣点的距离为 $1$,但到自身距离为 $0$)之外,所有车站到某个兴趣点的距离为 $2$。因此 Gare du Nord 是无用的。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.