QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 512 MB Puntuación total: 100

#778. 山遙路遠

Estadísticas

題目背景

「你走吧 趁着落日長天」 「你走吧 此去山遙路遠」 「敢想你策馬揮鞭」 「絕塵不見」

題目敘述

給你一個 $n$ 個點,$m$ 條邊的有向圖,每條有向邊有一個長度 $w$,且上面有一個字元,這個字元只可能是左括號或者右括號,即 ()

我們稱一條路徑是合法路徑,滿足其經過的所有字元拼接起來得到的括號串是一個合法括號序列。

接下來有 $q$ 組詢問,每次詢問給出節點 $s, t$,問 $s$ 到 $t$ 是否存在一條合法路徑,如果存在,那麼請輸出其最短合法路徑的長度。由於答案可能很大,你只需要輸出答案模 $998244353$ 的結果。

注意這個圖可能有重邊和自環。

輸入格式

第一行輸入三個正整數 $n, m, q$,含義如題目敘述所示。

接下來輸入 $m$ 行,每行四個正整數 $u, v, w, t$,表示 $u$ 到 $v$ 有一條有向邊,長度為 $w$,$t = 1$ 代表是左括號 (,否則 $t = 2$ 代表是右括號 )

接下來輸入 $q$ 行,每行兩個正整數 $s, t$,表示 $s$ 到 $t$ 的一組詢問。

輸出格式

共輸出 $q$ 行。每行一個整數,如果合法路徑不存在輸出 $-1$,否則輸出最短距離模 $998244353$ 的結果。

範例

輸入 1

5 5 5
1 2 100000000 1
2 3 100000000 2
3 1 100000000 1
3 4 100000000 2
4 5 100000000 2
1 1
1 2
1 3
1 4
1 5

輸出 1

0
-1
200000000
600000000
1755647

說明 1

詢問 $(1, 1)$:$1$ 走到 $1$ 只需要一條長度為 $0$ 的路徑,它是一個空序列,空序列本身就是合法的。

詢問 $(1, 2)$:事實上 $1$ 到 $2$ 的任何路徑都不合法,故輸出 $-1$。

詢問 $(1, 3)$:$1 \to 2 \to 3$ 是一條合法路徑,括號序列為 (),長度是 $2 \times 10^8$,沒有比它更短的。

詢問 $(1, 4)$:$1 \to 2 \to 3 \to 1 \to 2 \to 3 \to 4$ 是一條合法路徑,括號序列為 ()(()),長度是 $6 \times 10^8$,沒有比它更短的。

詢問 $(1, 5)$:$1 \to 2 \to 3 \to 1 \to 2 \to 3 \to 1 \to 2 \to 3 \to 4 \to 5$ 是一條合法路徑,括號序列為 ()(()(())),長度是 $10^9$,沒有比它更短的。注意我們要輸出取模後的結果,因此輸出 $10^9 \pmod{998244353} = 1755647$。

範例 2~3

見選手目錄下的 distant/distant2~3.indistant/distant2~3.ans

子任務

對於 $100\%$ 的資料,保證 $1 \le n \le 400, 1 \le m \le 5 \times 10^4, 1 \le q \le 10^5, 0 \le w \le 10^8$。

測試點 分值 $n$ $m$ 特殊限制
1 25 $\le 10$ $\le 10^2$
2 35 $\le 10^2$ $\le 10^3$ A
3 20 $\le 10^2$ $\le 10^4$
4 20 $\le 400$ $\le 5 \times 10^4$

特殊限制 A:保證 $s = 1$。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

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.