luogu#P9020. [USACO23JAN] Mana Collection P

[USACO23JAN] Mana Collection P

题目描述

Note: The time limit for this problem is 5s, 2.5 times the default. The memory limit for this problem is 512MB, twice the default.

Bessie has recently taken an interest in magic and needs to collect mana for a very important spell. Bessie has N(1N18)N(1 \le N \le 18) mana pools, the ith of which accumulates mim_i mana per second (1mi108)(1 \le m_i \le 10^8). The pools are linked by a collection of M(0MN(N1))M (0 \le M \le N(N−1)) directed edges (ai,bi,ti)(a_i,b_i,t_i), meaning that she can travel from aia_i to bib_i in tit_i seconds $(1 \le a_i,b_i \le N, a_i \neq b_i, 1 \le t_i \le 10^9)$. Whenever Bessie is present at a pool, she can collect all the mana stored at that location, emptying it. At time 00, all mana pools are empty, and Bessie can select any pool to start at.

Answer Q(1Q2105)Q(1 \le Q \le 2 \cdot 10^5) queries, each specified by two integers ss and e(1s109,1eN)e (1 \le s \le 10^9, 1 \le e \le N). For each query, determine the maximum amount of mana Bessie can collect in s seconds if she must be at mana pool ee at the end of the ss-th second.

输入格式

First line contains NN and MM.

Next line contains m1,m2,,mNm_1,m2, \cdots ,m_N.

Next MM lines contain ai,bi,tia_i,b_i,t_i. No ordered pair (ai,bi)(a_i,b_i) appears more than once in the input.

Next line contains QQ.

Next QQ lines contain two integers ss and ee.

输出格式

QQ lines, one for each query.

题目大意

题目背景

注意:这个问题的时间限制是5秒,是默认的2.5倍。这个问题的内存限制是512MB,是默认值的两倍。

题目描述

贝西需要为一个非常重要的法术收集法力。贝西有 NN (1N18)(1\le N\le 18) 个法力池,其中第 ii 个法力池每秒可积累 mim_i 法力 (1mi108)(1\le m_i\le 10^8) 。这些池子由 MM (0MN(N1))(0\le M\le N \cdot (N-1)) 条有向边 (ai,bi,ti)(a_i,b_i,t_i) 连接,这意味着她可以在 tit_i 秒内从 aia_i 移动到 bib_i (1ai,biN(1\le a_i, b_i\le N, aibia_i\neq b_i, 1ti109)1\le t_i\le 10^9) 。每当贝西出现在一个池子里,她就可以收集储存在那个地方的所有法力,把它清空。在 00 的时候,所有的法力池都是空的,贝西可以选择任何一个池子来开始收集。

回答 QQ (1Q2105)(1\le Q\le 2\cdot 10^5) 个查询,每个查询由两个整数 ssee 指定 (1s109(1\le s\le 10^91eN)1\le e\le N) 。对于每个查询,如果贝西在第 ss 秒结束时必须在法力池 ee 处,请确定她在 ss 秒内能收集的最大法力值。

输入格式

第一行包含 NNMM

下一行包含 m1,m2,,mNm_1,m_2,\dots, m_N

接下来的 MM 行每行包含 ai,bi,tia_i,b_i,t_i 。在输入中没有一对有序的 (ai,bi)(a_i,b_i) 出现超过一次。

下一行包含 QQ

接下来的 QQ 行每行包含两个整数 ssee

输出格式

输出 QQ 行,每个查询所对应的答案。

样例 #1

样例输入 #1

2 1
1 10
1 2 10
4
5 1
5 2
100 1
100 2

样例输出 #1

5
50
100
1090

样例 #2

样例输入 #2

4 8
50000000 100000000 20000000 70000000
1 2 20
2 1 50
2 3 90
1 3 40
3 1 10
4 1 25
1 4 5
4 3 70
3
8 3
1000000000 1
500000 4

样例输出 #2

160000000
239999988050000000
119992550000000

提示

对于第一个样例:

第一次询问。贝西在 55 秒后从水池 11 中取出 55 个法力值。

第二次查询。 55 秒后,贝西从水池 22 中获取 5050 点法力。

第三次查询。 100100 秒后,贝西从水池 11 中获取 100100 法力值。

第四次查询。 9090 秒后贝西从水池 11 中获得 9090 法力, 100100 秒后从水池 22 中获得 10001000 法力。

测试点 343-4: N10,Q100N\le 10, Q\le 100

测试点 595-9: N10N\le 10

测试点 101410-14: Q100Q\le 100

测试点 151715-17: N=16N = 16

测试点 182018-20: N=17N = 17

测试点 212421-24:没有其他约束条件 。

2 1
1 10
1 2 10
4
5 1
5 2
100 1
100 2
5
50
100
1090
4 8
50000000 100000000 20000000 70000000
1 2 20
2 1 50
2 3 90
1 3 40
3 1 10
4 1 25
1 4 5
4 3 70
3
8 3
1000000000 1
500000 4
160000000
239999988050000000
119992550000000

提示

Explanation for Sample 1

First query: Bessie takes 55 mana from pool 11 after 55 seconds.

Second query: Bessie takes 5050 mana from pool 22 after 55 seconds.

Third query: Bessie takes 100100 mana from pool 11 after 100100 seconds.

Fourth query: Bessie takes 9090 mana from pool 11 after 9090 seconds and 10001000 mana from pool 22 after 100100 seconds.

Explanation for Sample 2

An example where Bessie is able to collect much larger amounts of mana.

Scoring

  • Inputs 343-4: N10N \le 10,Q100Q \le 100
  • Inputs 595-9: N10N \le 10
  • Inputs 101410-14: Q100Q \le 100
  • Inputs 151715-17: N=16N=16
  • Inputs 182018-20: N=17N=17
  • Inputs 212421-24: No additional constraints.