不难发现每个询问一共只有 $K+1$ 条可能的路径,分别是经过第 $i$ 条未知边 $(u,v_i)$ 和只走已知边。
考虑让 Alice 给未知边重新赋权,使得每个询问新的最短路集包含于原先的。
也就是说,对于一个询问 $r$,若本来有 $w_i+b_{r,i}>w_j+b_{r,j}$,则必须有 $w'_i+b_{r,i}>w'_j+b_{r,j}$,其中 $b_{r,i}$ 是某条路径的已知权值 $d_{s_r,u}+d_{v_i, t_r}$,$w$ 是未知边的权值($b_{r,k}$ 对应直接走的代价 $d_{s_r, t_r}$ ,$w_k=w'_k=0$)。
这就形成了若干约束,形如 $w'_i-w'_j>b_{r,j}-b_{r,i}$。不妨令 Alice 一定赋正整数权值,就变为 $w'_i-w'_j\ge b_{r,j}-b_{r,i}+1$ 和 $w_i\ge w_k+1(i\ne k)$。我们将第一类限制挂在其对应的询问 $x\in [0,q)$ 上,将第二类限制挂在 $q$ 上。
这是一个差分约束的形式,可以建图从 $k$ 开始跑最长路。不难发现原图的 $w$ 是一组解,所以一定没有正环。为了让 Bob 知道 $k$ 到每个点的距离,只需要将每条边的信息传过去。具体地,Alice 先用 $k-1$ 个大小为 $k+1$ 的信息传这个有 $k+1$ 个点无根(虽然实际有根,但是根一定是 $k$)最长路树,再用 $k$ 个大小为 $q+1$ 的信息传 $k$ 之外每个点到父亲的边被挂在哪里。
总信息量 $(k-1)\log_2 (k+1)+k\log (q+1)$ 比特。代入 $k=5,q=60$ 得 $39.99353$,可以嵌入到 $L\le 39$ 或 $L=40$ 的所有 $01$ 串。