#CSP202312E. 彩色路径

    ID: 593 Type: Default 2000ms 512MiB Tried: 35 Accepted: 2 Difficulty: 5 Uploaded By: Tags>CSP动态规划状态压缩DP搜索折半搜索

彩色路径

题目来自第 32 次 CSP 认证 T5,评测使用自造高质量复刻数据。我们承认原始题面与大样例版权均归中国计算机学会(CCF)所有,因此题面与评测服务均免费对外开放。如果您认为我们侵犯了您的权益,可联系我们

时间限制: 2.0 秒

空间限制: 512 MB

题目描述

西西艾弗岛的路线图可以看作是一个具有 nn 个节点和 mm 条有向边的图。 第 ii 个节点(0i<n0 \leq i < n)有一个颜色标签 ci{0,1,,k1}c_i \in \{0, 1, \cdots, k-1\},第 jj 条边(0j<m0 \leq j < m)从节点 uju_j 指向节点 vjv_j,长度为 djd_j

对于游客顿顿来说,理想的观光路线应满足以下条件:

  • 是一条从节点 00 到节点 n1n-1 的简单路径;
  • 是一条彩色路径,即路径上每个节点的颜色标签均不相同;
  • 并且包含的节点数小于或等于 ll

具体而言,理想的观光路线是一个节点序列,例如 (t0,t1,,tq1)(t_0, t_1, \cdots, t_{q-1}),满足以下所有要求:

  • 对于每个 ii0i<q10 \leq i < q-1),存在一条从节点 tit_i 到节点 ti+1t_{i+1} 的有向边。
  • t0=0t_0 = 0tq1=n1t_{q-1} = n-1
  • 对于每对 i,ji, j0i<j<q0 \leq i < j < q),都有 ctictjc_{t_i} \neq c_{t_j}
  • qlq \leq l

一条路径的长度定义为边的总长度。你的任务是找到满足游客顿顿所有要求的最长观光路线。

输入格式

从标准输入读入数据。

输入共五行。

输入的第一行包含四个正整数 n,m,l,kn, m, l, k,分别表示图的节点数、边数、理想观光路线的节点数上限和颜色标签范围。

输入的第二行包含 nn 个整数 c0,c1,,cn1c_0, c_1, \cdots, c_{n-1},表示图中每个节点的颜色标签。

接下来输入边的信息。

输入的第三行包含 mm 个整数 u0,u1,,um1u_0,u_1, \cdots, u_{m-1},表示每条有向边的起点;

输入的第四行包含 mm 个整数 v0,v1,,vm1v_0, v_1, \cdots, v_{m-1},表示每条有向边的终点;

输入的第五行包含 mm 个整数 d0,d1,,dm1d_0, d_1, \cdots, d_{m-1},表示每条有向边的长度。

输入数据保证不存在起点终点相同的边,如 (u,u)(u, u);每条有向边 (u,v)(u, v) 仅会出现一次,但不排除 (u,v)(u, v)(v,u)(v, u) 可能同时存在。

输出格式

输出到标准输出。

输出一个数,表示理想观光路线的最大长度。

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

样例解释

以下是示例图,其中黑色和红色数字分别表示节点编号和边的长度。

img

如下表所示,在不超过四个节点的限制下,共有五条从节点 00 到节点 55彩色路径。其中最长的一条是 (0,1,5)(0, 1, 5),长度为 99

彩色路径 节点数 长度
(0,1,3,5)(0,1,3,5) 44 77
(0,1,4,5)(0,1,4,5) 44
(0,2,4,5)(0,2,4,5) 88
(0,1,5)(0,1,5) 33 99
(0,4,5)(0,4,5) 55

子任务

全部的测试数据满足:

  • 2n1002\le n\le 100
  • 1m50001\le m\le 5000
  • 2l9k302\le l\le 9\le k\le 30
  • c0=0,cn1=k1c_0=0,c_{n-1} = k-1
  • $\forall\ i\ (1\le i\le n - 2),\ 1 \leq c_i \leq k-2$
  • $\forall\ j\ (0\le j<m),\ 0\le u_j,v_j<n,\ c_{u_j}\ne c_{v_j},\ 1\le d_j\le 10^6$
  • 至少存在一条从节点 00 到节点 n1n-1 的彩色路径,节点数不超过 ll

本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。

子任务编号 分值 特殊性质
1 20 $\forall\ i\ (0\le i<n-1),\ c_i\le c_{i+1}\\ \forall j\ (0\le j<m),\ u_j<v_j$
2 30 k15k\le 15
3 50