[USACO23DEC] Minimum Longest Trip G

Luogu
IDLGP9981
Time1000ms
Memory256MB
DifficultyP5
动态规划 DP倍增USACO2023O2优化拓扑排序哈希 hashing
Bessie 正在奶牛大陆上旅行。奶牛大陆由从 $1$ 到 $N$ 编号的 $N$($2 \le N \le 2\cdot 10^5$)座城市和 $M$($1 \le M \le 4\cdot 10^5$)条单向道路组成。第 $i$ 条路从城市 $a_i$ 通向城市 $b_i$,标签为 $l_i$($1 \le l_i \le 10^9$)。 由城市 $x_0$ 开始的长度为 $k$ 的旅程被定义为一个城市序列 $x_0,x_1,\ldots,x_k$,对于所有的 $0 \le i < k$,存在由城市 $x_i$ 到 $x_{i+1}$ 的路。保证在奶牛大陆上不存在长度无限的旅程,不存在两条路连接一对相同的城市。 对于每座城市,Bessie 想知道从它开始的最长旅程。对于一些城市,从它们开始的最长旅程不唯一,Bessie 将选择其中道路标签序列字典序更小的旅程。一个序列比等长的另一个序列字典序更小,当且仅当在它们不同的第一个位置,前者比后者的元素更小。 输出 Bessie 在每座城市选择的旅途的长度和道路标签之和。 ## Input 第一行包含 $N$ 和 $M$。 接下来 $M$ 行,每行三个整数 $a_i,b_i,l_i$,代表一条由 $a_i$ 到 $b_i$,标签为 $l_i$ 的单向道路。 ## Output 输出 $N$ 行,第 $i$ 行包含由空格分隔的两个整数,表示 Bessie 选择的从城市 $i$ 开始的旅程的长度和道路标签之和。 [samples] ## Note ### 样例解释 2 在下面的解释中,我们用 $a_i\xrightarrow{l_i} b_i$ 表示由城市 $a_i$ 通往 $b_i$,标签为 $l_i$ 的单向道路。 从城市 $4$ 出发有多条旅程,包含 $4\xrightarrow{4} 3\xrightarrow 5 1$,$4\xrightarrow 1 1$ 和 $4\xrightarrow 2 2\xrightarrow{10} 1$。在这些旅程中,$4\xrightarrow{4} 3\xrightarrow 5 1$ 和 $4\xrightarrow 2 2\xrightarrow{10} 1$ 是最长的。它们的长度均为 $2$,道路标签序列分别为 $[4,5]$ 和 $[2,10]$。$[2,10]$ 是字典序更小的那一个,它的和为 $12$。 ### 测试点性质 - 测试点 $5-6$ 满足所有道路的标签相同。 - 测试点 $7-8$ 满足所有道路的标签不相同。 - 测试点 $9-10$ 满足 $N,M \le 5000$。 - 测试点 $11-20$ 没有额外限制。
Samples
Input #1
4 5
4 3 10
4 2 10
3 1 10
2 1 10
4 1 10
Output #1
0 0
1 10
1 10
2 20
Input #2
4 5
4 3 4
4 2 2
3 1 5
2 1 10
4 1 1
Output #2
0 0
1 10
1 5
2 12
Input #3
4 5
4 3 2
4 2 2
3 1 5
2 1 10
4 1 1
Output #3
0 0
1 10
1 5
2 7
Input #4
4 5
4 3 2
4 2 2
3 1 10
2 1 5
4 1 1
Output #4
0 0
1 5
1 10
2 7
API Response (JSON)
{
  "problem": {
    "name": "[USACO23DEC] Minimum Longest Trip G",
    "description": {
      "content": "Bessie 正在奶牛大陆上旅行。奶牛大陆由从 $1$ 到 $N$ 编号的 $N$($2 \\le N \\le 2\\cdot 10^5$)座城市和 $M$($1 \\le M \\le 4\\cdot 10^5$)条单向道路组成。第 $i$ 条路从城市 $a_i$ 通向城市 $b_i$,标签为 $l_i$($1 \\le l_i \\le 10^9$)。 由城市 $x_0$ 开始的长度为 $k$ 的旅程被定",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 262144
    },
    "difficulty": {
      "LuoguStyle": "P5"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9981"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Bessie 正在奶牛大陆上旅行。奶牛大陆由从 $1$ 到 $N$ 编号的 $N$($2 \\le N \\le 2\\cdot 10^5$)座城市和 $M$($1 \\le M \\le 4\\cdot 10^5$)条单向道路组成。第 $i$ 条路从城市 $a_i$ 通向城市 $b_i$,标签为 $l_i$($1 \\le l_i \\le 10^9$)。\n\n由城市 $x_0$ 开始的长度为 $k$ 的旅程被定...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments