#P16909. [Ontak2026]困难安装

[Ontak2026]困难安装

题目描述

Sirina 在一家名为“困难安装”的公司工作。公司在 nn 个城市设有分部,城市之间由 mm单向道路连接。

ii 条道路从城市 aia_i 通向城市 bib_i,并有一个正整数吸引力 tit_i

保证:

  • 任意两条道路不会连接同一对城市;
  • 图中不存在无限行走路径。等价地说,整个有向图是 DAG。

Sirina 可以选择任意城市作为起点,然后沿任意一条有向路径行驶,并在路径终点进行安装。

对于一条路径,按行驶顺序记沿途道路的吸引力序列为 (a1,a2,,ak)(a_1,a_2,\ldots,a_k)

对每个起点城市,Sirina 按以下规则选择路径:

  1. 首先使路径长度(经过的道路数)最大;
  2. 如果最长路径不止一条,则选择吸引力序列字典序最小的那一条。

你的任务是对每个起点城市求出:

  • 最终被选路径的长度;
  • 该路径上所有道路吸引力之和。

输入格式

第一行包含两个整数 n,mn,m

  • 1n21051\le n\le2\cdot10^5
  • 1m41051\le m\le4\cdot10^5

接下来 mm 行,每行包含三个整数 ai,bi,tia_i,b_i,t_i

  • 1aibin1\le a_i\ne b_i\le n
  • 1ti1091\le t_i\le10^9

表示一条从 aia_i 指向 bib_i、吸引力为 tit_i 的道路。

保证整个图不存在有向环。

输出格式

输出 nn 行。

ii 行输出两个以空格分隔的整数:

  • 从城市 ii 出发按规则选择的路径长度;
  • 该路径的吸引力总和。

样例

4 5
4 3 4
4 2 2
3 1 5
2 1 10
4 1 1
0 0
1 10
1 5
2 12

样例说明

  • 城市 11 没有出边,因此答案为 (0,0)(0,0)
  • 从城市 22 出发只能走 212\to1,答案为 (1,10)(1,10)
  • 从城市 33 出发只能走 313\to1,答案为 (1,5)(1,5)
  • 从城市 44 出发存在两条长度为 22 的路径,其吸引力序列分别为 (2,10)(2,10)(4,5)(4,5)。前者字典序更小,因此答案为 (2,12)(2,12)

子任务

子任务 限制 分值
1 所有道路吸引力相同 9
2 所有道路吸引力两两不同 11
3 n,m500n,m\le500 13
4 n,m5000n,m\le5000 16
5 无额外限制 51