#P12041. [USTCPC 2025] 图上交互题 2 / Constructive Minimum Mex Path

    ID: 13618 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>图论并查集2025Special Judge连通块构造高校校赛

[USTCPC 2025] 图上交互题 2 / Constructive Minimum Mex Path

背景

USTCPC 设置 3s 时限为了使得 python 通过。洛谷改为 1s 时限。

2024 年 1 月 13 日 15:59:31,随着最后一发交互 J 题的提交出现了 Wrong Answer,小 G 的 EC-Final 比赛结束了,也意味着在 ICPC 生涯中第一次打铁。

克露丝卡尔酱想要帮助她的同学小 G!她打算批量生产交互题给小 G 做。如何批量生产交互题?只要在一个数据结构中有若干个未知量 aia_i,每次询问给定向量 xx,交互库会返回关于 aia_i 的函数 f(x)f(x),这样就能批量生产交互题了!

为什么题目名里有 2 呢?

题目描述

给定一个 nn 个点,mm 条边的无向图。第 ii 条边 (ui,vi)(u_i,v_i) 有一个未知边权 aia_i。

对于任何一条路径,定义其代价如下:设路径为 (p0,p1,...,pk)(p_0,p_1,...,p_k),其中要求 (pi−1,pi)(p_{i-1},p_i) 是无向图中的边,设其为第 eie_i 条边。那么路径的代价即为 mexi=1kaei\mathop{\text{mex}}\limits_{i=1}^{k} a_{e_i}。(该路径可以经过重复点和重复边,即 pp 和 ee 可以包含重复的数)

mex\text{mex} 是一种定义域为一个非负整数的可重集合,函数值为非负整数的映射,定义为集合内最小未在集合内出现过的非负整数。

定义 f(x,y)f(x,y) 为从 xx 到 yy 的所有路径中代价的最小值。特别地,当 x=yx=y 时,f(x,y)=0f(x,y)=0。

给定 n,mn,m,再对于每条边 (ui,vi)(u_i,v_i) 给定 f(ui,vi)f(u_i,v_i),你需要求出是否存在一组合法的 aia_i,如果有解,你还需要构造一组解。

输入格式

第一行两个正整数 n,mn,m (1≤n,m≤105)(1\le n,m\le 10^5)。

第 2∼m+12\sim m+1 行每行两个正整数 ui,viu_i,v_i (1≤ui,vi≤n)(1\le u_i,v_i\le n) 和一个非负整数 f(ui,vi)f(u_i,v_i) (0≤f(ui,vi)<231)(0\le f(u_i,v_i)<2^{31})。

请注意:本题并不保证图连通;可能会存在重边和自环。

输出格式

如果不存在解,则仅输出 No。

否则,在第一行输出 Yes,在第二行输出 mm 个非负整数 aia_i 表示一组合法的解。

答案可能有很多组,此时输出任意一组解即可。你需要保证 输出的 0≤ai<2310\le a_i<2^{31}。

你可以以任意的大小写形式输出 Yes 或 No。例如,yEs,yes,Yes 和 YES 都将被视为肯定的回复。

4 4
1 2 0
2 3 0
3 1 0
3 4 1
Yes
0 1 2 0
1 1
1 1 114514
NO

提示

考虑 f(1,2)f(1,2):

  • 考虑路径 1→21\rightarrow 2,路径的代价为 mex{0}=1\text{mex}\{0\}=1。
  • 考虑路径 $1\rightarrow 2\rightarrow 3\rightarrow 1\rightarrow 2$,路径的代价为 mex{0,1,2,0}=3\text{mex}\{0,1,2,0\}=3。
  • 考虑路径 1→3→21\rightarrow 3\rightarrow 2,路径的代价为 mex{1,2}=0\text{mex}\{1,2\}=0。

此外还存在其他路径,但可以证明不存在代价比 00 更小的路径,故 f(1,2)=0f(1,2)=0。