#533. Minimum Cost Paths

0

Minimum Cost Paths

Minimum Cost Paths

题目描述

农夫约翰的牧场可以看作一个 N×MN\times M(2≤N≤1092\le N\le 10^9,2≤M≤2⋅1052\le M\le 2\cdot 10^5)的二维方格网格(可以想象成一个巨大的棋盘)。从上往下数第 xx 行、从右往左数第 yy 列的格子记为 (x,y)(x,y),其中 x∈[1,N],y∈[1,M]x\in [1,N], y\in [1,M]。此外,对于每个 y∈[1,M]y\in [1,M],第 yy 列对应一个代价 cyc_y(1≤cy≤1091\le c_y\le 10^9)。

贝茜从格子 (1,1)(1,1) 出发。若她当前位于格子 (x,y)(x,y),则可以执行以下操作之一: 如果 y<My<M,贝茜可以移动到下一列(yy 增加 1),代价为 x2x^2。 如果 x<Nx<N,贝茜可以移动到下一行(xx 增加 1),代价为 cyc_y。

给定 QQ(1≤Q≤2⋅1051\le Q\le 2\cdot 10^5)个相互独立的询问,每个询问形如 (xi,yi)(x_i,y_i)(xi∈[1,N],yi∈[1,M]x_i\in [1,N], y_i\in [1,M]),计算贝茜从 (1,1)(1,1) 移动到 (xi,yi)(x_i,y_i) 的最小可能总代价。

输入格式

第一行包含 NN 和 MM。 第二行包含 MM 个用空格分隔的整数 c1,c2,…,cMc_1,c_2,\ldots,c_M。 第三行包含 QQ。 接下来的 QQ 行每行包含两个用空格分隔的整数 xix_i 和 yiy_i。

输出格式

输出 QQ 行,分别为每个询问的答案。 注意:本题中涉及的整数可能很大,可能需要使用 64 位整数类型(例如 C/C++ 中的 "long long")。

5 4
1 100 100 20
20
1 1
2 1
3 1
4 1
5 1
1 2
2 2
3 2
4 2
5 2
1 3
2 3
3 3
4 3
5 3
1 4
2 4
3 4
4 4
5 4
0
1
2
3
4
1
5
11
19
29
2
9
20
35
54
3
13
29
49
69

提示

以网格形式输出的结果: 1 2 3 4 --------* 1 | 0| 1| 2| 3| --------* 2 | 1| 5| 9|13| --------* 3 | 2|11|20|29| --------* 4 | 3|19|35|49| --------* 5 | 4|29|54|69| --------*

评分(SCORING): 测试点 1-3 满足 N,M≤2000N,M\le 2000。 测试点 4-8 满足 c2>c3>⋯>cMc_2>c_3>\cdots>c_M。 测试点 9-15 满足 N≤2⋅105N\le 2\cdot 10^5。 测试点 16-20 无额外限制。

题目来源:Benjamin Qi

标签: USACO|2021|Platinum

来源

USACO|2021|Platinum