编程题
灾后重建 ### 题目描述 Pear 市一共有 $N(N \leq 50000$)个居民点,居民点之间有 $M(M \leq 200000)$条双向道路相连。这些居民点两两之间都可以通过双向道路到达。这种情况一直持续到最近,一次严重的地震毁坏了全部 $M$ 条道路。 震后,Pear 打算修复其中一些道路,修理第 $i$ 条道路需要 $P_i$ 的时间。不过,Pear 并不打算让全部的点连通,而是选择一些标号特殊的点让他们连通。 Pear 有 $Q(Q \leq 50000)$ 次询问,每次询问,他会选择所有编号在 &[l,r]$ 之间,并且 编号$\mod K = C$ 的点,修理一些路使得它们连通。由于所有道路的修理可以同时开工,所以完成修理的时间取决于花费时间最长的一条路,即涉及到的道路中 $P_i\$ 的最大值。 你能帮助 Pear 计算出每次询问时需要花费的最少时间么?这里询问是独立的,也就是上一个询问里的修理计划并没有付诸行动。 ### 输入描述 第一行三个正整数 $N、M、Q$,含义如题面所述。 接下来 $M$ 行,每行三个正整数 $X_i、Y_i、P_i$,表示一条连接 $X_i$ 和 $Y_i$ 的双向道路,修复需要 $P_i$ 的时间。可能有自环,可能有重边。 接下来 $Q$ 行,每行四个正整数 $L_i、R_i、K_i、C_i$,表示这次询问的点是 $[L_i,R_i]$ 区间中所有编号 $\mod K_i=C_i$ 的点。保证参与询问的点至少有两个。 其中,$N \leq 50000,M \leq 2\times 10^5,Q \leq 50000, Pi \leq 10^6$。$L_i、R_i、K_i、C_i$均在 $[1,N]$ 范围内,$C_i$ 在[0,对应询问的 $K_i$ )范围内。 例如: 输入: ### 输出描述 输出 $Q$ 行,每行一个正整数表示对应询问的答案。 ### 输入输出样例 #### 示例 > 输入 ```txt 7 10 4 1 3 10 2 6 9 4 1 5 3 7 4 3 6 9 1 5 8 2 7 4 3 2 10 1 7 6 7 6 9 1 7 1 0 1 7 3 1 2 5 1 0 3 7 2 1 ``` > 输出 ```txt 9 6 8 8 ```
查看答案
赣ICP备20007335号-2