#P17427. [ICPC 2018 Xuzhou R] Rikka with An Unnamed Temple

    ID: 19929 远端评测题 20000ms 512MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>动态规划 DP2018线段树背包 DP拓扑排序ICPC

[ICPC 2018 Xuzhou R] Rikka with An Unnamed Temple

题目描述

Rikka 偶然发现了一座无名古庙及其内部的地图。这座庙宇包含 nn 个彼此分离的房间,若干条有向道路连接着这些房间,构成了一张有向无环图。

当一位访客进入古庙时,她会出现在第一个房间。她可以在第 nn 个房间找到古庙的出口。需要注意,从入口出发她可能无法到达所有的房间,同时,从某些内部房间出发,她或许根本没有机会离开古庙。

所有房间都存放着一些宝物。第 ii 个房间中宝物的重量为 wiw_i,价值为 cic_i。当一位访客到达出口时,如果她所取宝物的总重量除以 kk 的余数恰好等于 tt(其中 kk 与 tt 为预先给定的整数),她才被允许离开古庙。

此外,有一位守卫正站在某个房间中守护宝物,但没有人知道她站在哪个房间。为了避免遭到攻击,访客在任何时候都不应踏入守卫所在的房间。

现在 Rikka 决定造访这座无名古庙。她将选择一条从入口到出口的路径,并拾取她所经过的所有房间中的宝物。她希望你对于每个 i=1i = 1 到 nn,在假设守卫正站在第 ii 个房间的情况下,分别计算她能够获得的最大总价值是多少,以及她有多少种不同的路径方案可以达到这个最大值。

输入格式

输入包含多组测试数据,第一行包含一个整数 TT(1≤T≤10001 \le T \le 1000),表示测试数据的组数。

对于每组测试数据,第一行包含两个整数 nn(2≤n≤1052 \le n \le 10^5),表示房间的数量,以及 mm(0≤m≤2×1050 \le m \le 2 \times 10^5),表示有向道路的数量。

接下来的 nn 行描述所有房间。其中第 ii 行包含两个整数 wiw_i 和 cic_i(1≤wi,ci≤1091 \le w_i, c_i \le 10^9)。

再接下来的 mm 行描述所有道路。其中第 ii 行包含两个整数 uu 和 vv(1≤u,v≤n1 \le u, v \le n),表示一条从第 uu 个房间通往第 vv 个房间的有向道路。

最后一行包含两个整数 kk 和 tt(0≤t<k≤1000 \le t < k \le 100),表示离开古庙的条件的参数。

输入保证同组测试数据中的所有道路互不相同,所有测试数据的 nn 之和不超过 10610^6,所有测试数据的 mm 之和不超过 2×1062 \times 10^6。

输出格式

对于每组测试数据,输出 nn 行。在第 ii 行中,考虑守卫正站在第 ii 个房间的情况。如果此时不存在满足条件的从入口到出口的路径供 Rikka 访问古庙,则在该行输出 −1-1。否则,在该行输出两个由空格分隔的整数,第一个整数是她能获得的最大总价值,第二个整数是她可以选择的不同路径的方案数(以达到该最优结果)。第一个数应按准确值输出,第二个数应对 (109+7)(10^9 + 7) 取模后输出。

1
4 5
1 2
2 3
3 4
4 2
1 2
1 3
2 4
3 4
1 4
5 3
-1
8 1
-1
-1

提示

翻译由 DeepSeek V4 Pro 完成