ABC355

E
将所有的下标作为点,建一张无向图。
当且仅当可以询问 \([l,r]\) 时,在点 \(l\)\(r+1\) 之间连一条边。
可以发现能求出 \([L,R]\) 的和等价于 \(L\)\(R+1\) 连通,且最少询问次数等于两点间最短路径边数。
若以 \(L\) 为源点搜索,则显然从小向大的边贡献为正,从大到小的边贡献为负。
不用显式建图。具体实现是容易的。
F
边权很小,提示我们可以暴力枚举和替换边。
开10个并查集,\(bel_i\)表示所有边权不超过 i 的边的生成子图的连通性。初始状态显然。
询问时,从小到大枚举边权,设 \(val\) 为最小的使得 \(bel_{val}\)\(u\)\(v\) 连通的值。
不难发现 \(val\)\(u->v\) 路径上边权最大的边。
\(w<val\),则用 \((u,v,w)\) 替换该边。否则不操作。
这样显然是最优的,因为肯定要替换差值最大的边。
G

posted @ 2024-05-28 20:54  studentDL  阅读(25)  评论(0)    收藏  举报