luogu#P5044. [IOI2018] meetings 会议

[IOI2018] meetings 会议

题目背景

本题为交互题,但在此请提交完整程序

本题因为测试点过多,文件过大,只选择了33个测试点进行测评(涵盖了所有子任务)。剩余11组数据可下载数据自行测评。

https://ioi2018.jp/wp-content/tasks/contest2/meetings.zip

题目描述

NN 座山横着排成一行,从左到右编号为从 00N1N-1。山的高度为 HiH_i0iN10\leq i\leq N-1)。每座山的顶上恰好住着一个人。

你打算举行 QQ 个会议,编号为从 00Q1Q-1。会议 jj0jQ10\leq j\leq Q-1) 的参加者为住在从山 LjL_j 到山 RjR_j(包括 LjL_jRjR_j)上的人(0LjRjN10\leq L_j\leq R_j\leq N-1)。对于该会议,你必须选择某个山 xx 做为会议举办地(LjxRjL_j\leq x\leq R_j)。举办该会议的成本与你的选择有关,其计算方式如下:

  • 来自每座山 yyLjyRjL_j\leq y\leq R_j) 的参会者的成本,等于在山 xxyy 之间(包含 xxyy)的所有山的最大高度。特别地,来自山 xx 的参会者的成本是 HxH_x,也就是山 xx 的高度。

  • 会议的成本等于其所有参会者的成本之和。

你想要用最低的成本来举办每个会议。

注意,所有的参会者将在每次会议后回到他们自己的山;所以一个会议的成本不会受到先前会议的影响。

输入格式

输入的第一行包含两个正整数 NNQQ,其意义见题目描述。

第二行包含 NN 个正整数 H0,H1,,HN1H_0,H_1,\cdots, H_{N-1},表示这些山的高度。

3+j3+j 行(0jQ10\leq j\leq Q-1),每行两个整数 Lj,RjL_j, R_j,表示这些会议的参会者的范围。

输出格式

QQ 行,第 1+j1+j 行(0jQ10\leq j\leq Q-1)一个整数 CjC_j,表示举办会议 jj 的最低的可能成本。

4 2
2 4 3 5
0 2
1 3

10
12

3 3
2 1 2
0 0
0 1
0 2

2
3
5

5 1
1000000000 1000000000 1 1000000000 1000000000
0 4

4000000001

15 10
10 71 84 33 6 47 23 25 52 64 70 31 22 31 2
5 10
3 7
0 13
8 12
0 0
1 3
7 13
1 13
10 12
1 1

281
180
828
263
10
201
364
744
123
71

提示

样例#1解释

会议j=0j=0Lj=0L_j=0Rj=2R_j=2,所以将由住在山001122上的人参加。如果山00被选做举办地,会议00的成本计算如下:

  • 住在山00上的参会者的成本是max{H0}=2\max\lbrace H_0\rbrace=2
  • 住在山11上的参会者的成本是max{H0,H1}=4\max\lbrace H_0,H_1\rbrace=4
  • 住在山22上的参会者的成本是max{H0,H1,H2}=4\max\lbrace H_0,H_1,H_2\rbrace=4
  • 因此,会议00的成本是2+4+4=102+4+4=10

不可能以更低的成本来举办会议00了,因此会议00的最低成本是1010

会议j=1j=1Lj=1L_j=1Rj=3R_j=3,因此将由住在山112233上的人参加。如果山22被选做举办地,会议11的成本计算如下:

  • 住在山11上的参会者的成本是max{H1,H2}=4\max\lbrace H_1,H_2\rbrace=4
  • 住在山22上的参会者的成本是max{H2}=3\max\lbrace H_2\rbrace=3
  • 住在山33上的参会者的成本是max{H1,H2,H3}=5\max\lbrace H_1,H_2,H_3\rbrace=5
  • 因此,会议11的成本是4+3+5=124+3+5=12

不可能以更低的成本来举办会议11了,所以会议11的最低成本是1212

限制条件

  • 1N750 0001\leq N\leq 750\space000
  • 1Q750 0001\leq Q\leq 750\space000
  • 1Hi1 000 000 0001\leq H_i\leq1\space000\space000\space000
  • 0LjRjR1(0jQ1)0\leq L_j\leq R_j\leq R-1(0\leq j\leq Q-1)
  • (Lj,Rj)(Lk,Rk)(0j<kQ1)(L_j,R_j)\neq(L_k,R_k)(0\leq j<k\leq Q-1)

子任务

  1. (4分) N3000,Q10N\leq3000,Q\leq10
  2. (15分) N5000,Q5000N\leq5000,Q\leq5000
  3. (17分) $N\leq100\space000,Q\leq100\space000,H_i\leq2(0\leq i\leq N-1)$
  4. (24分) $N\leq100\space000,Q\leq100\space000,H_i\leq20(0\leq i\leq N-1)$
  5. (40分) 没有附加限制

Author

Riku Kawasaki (Japan)

Source

IOI 2018 D2T3