#P5508. 寻宝

    ID: 6216 远端评测题 2000ms 500MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>图论线段树Special JudgeO2优化

寻宝

背景

Steve成功打开了机关,发现机关后是一个巨大的迷宫。

题目描述

这个迷宫一共有 nn 个洞穴,洞穴之间有很多单向隧道,很难数清。

但经过分析,发现:

这些隧道可以分为 mm 组,对于每一组,编号在区间 [sl,sr][s_l,s_r] 内的每一个洞穴,与编号在区间 [tl,tr][t_l,t_r] 内的每一个洞穴之间,都有一条隧道,每组内共有 (sr−sl+1)×(tr−tl+1)(s_r-s_l+1)\times (t_r-t_l+1) 条隧道,通过同组内每一条隧道的时间都相等。

为了进一步节约时间,Steve 可以挖掘新的隧道。

但是,每个洞穴的性质不同,导致挖掘隧道的难度不同,有些洞穴甚至无法挖掘隧道。

具体来说,第 ii 个洞穴有一个值 viv_i,vi=0v_i=0 表示无法挖掘隧道,对于其它值,表示从第 ii 个洞穴开始,挖掘一条到第 jj 个洞穴的隧道,并到达第 jj 个隧道,需要花费 ∣i−j∣×vi\lvert i-j\rvert\times v_i 时间。

Steve 希望在最短时间内到达第 nn 个洞穴,决定不限制挖掘隧道的数量。

现在,你需要告诉 Steve 最少需要用的时间。

如果可能,你应帮助 Steve 求出一种最优方案。

输入格式

第一行两个整数 n,mn,m。

接下来一行 nn 个整数 v1,v2,…,vnv_1,v_2,\dots,v_n。

接下来 mm 行,每行描述一组隧道。

每行 55 个整数 sl,sr,tl,tr,ws_l,s_r,t_l,t_r,w,其中 ww 表示通过时间。

输出格式

如果无解,则只需输出一行一个整数 −1-1。

如果有解,则按下列格式输出:

第一行一个整数 tt,表示最少花费的时间。

如果你无法给出方案,在第二行输出一个整数 00。

如果你可以给出方案,在第二行输出一个整数 cc,在第三行输出 cc 个整数,依次表示一种最优方案经过的洞穴编号。

你并不需要告诉 Steve 经过的隧道是否为挖掘出来的,或者属于哪一组。

6 2
0 1 2 0 0 0
1 1 2 3 5
4 5 6 6 2

9
3
1 2 6
6 2
0 1 2 0 0 0
1 1 2 3 5
4 5 6 6 2

9
4
1 3 4 6

提示

样例 11:11 号到 22 号走第一组隧道,22 号到 66 号挖掘隧道,用时 1×(6−2)=41\times (6-2)=4。

样例 22:11 号到 33 号走第一组隧道,33 号到 44 号挖掘隧道,用时 2×(4−3)=22\times (4-3)=2,44 号到 66 号走第二组隧道。

每个 Subtask 包括两个测试点,取较低分。

对于每个测试点:

如果输出格式错误,那么,该测试点得 00 分。

如果你没有给出正确的用时,那么,该测试点得 00 分。

如果你给出正确的用时,但没有给出方案,那么你可以得到该测试点一半的分数(每个测试点得分向下取整)。

如果你给出了错误方案,那么你可能可以得到该测试点一半的分数,或者得 00 分。

如果你给出了正确的方案,那么你可以得到该测试点全部的分数。

上面两个输出都可以得到满分,还有一种方案是 1  2  4  61\;2\;4\;6。

如果你输出:

9
0

那么你可以得到该测试点一半的分数。

数据范围:

0≤w,vi≤1090\le w,v_i \le 10^9。

::cute-table{tuack} Subtask | 分值| nn | mm | 特殊性质 :-: | :-: | :-: | :-: | :-: 11 | 55| 10210^2| 10210^2| | 22| 1010| 3×1033\times 10^3| 3×1033\times 10^3| | 33| 1111| 5×1045\times 10^4| 5×1045\times 10^4| 2,32,3| 44| 1010| 5×1045\times 10^4| 5×1045\times 10^4| 11| 55| 1212| 5×1045\times 10^4| 00| | 66| 1212| 5×1045\times 10^4| 11| | 77| 1313| 5×1045\times 10^4| 2020|33 | 88| 1313| 5×1045\times 10^4| 2020| | 99| 1414| 5×1045\times 10^4| 5×1045\times 10^4| |

特殊性质 11:所有 vi=0v_i=0。

特殊性质 22:所有 vi∈{0,k}v_i \in \{0,k\},kk 为常数。

特殊性质 33:所有 sl=sr,tl=trs_l=s_r,t_l=t_r。

保证存在到达 nn 号洞穴的方案。

关于输出错误方案:

如果输出的 2≤c≤n2\leq c\leq n,经过的点以 11 开头,以 nn 结尾,且中间的点都是在 (1,n)(1,n) 的整数,则这组解可能是一组最优解,可以得到一半分数。

否则,得 00 分。

不用担心 spj 会 TLE/MLE。