题意:
有n座城市。
有m个时刻,在第i个时刻,若城市a、b,gcd(a,b)=m−i+1则连边。
有q个询问,询问第xi座城市和yi座城市什么时候联通。
思路 :
gcd(a,b)=m-i+1这个条件可以转化成在 i 时刻对所有m-i+1的倍数的节点连边。
不难发现两张图的连通性是等价的。
考虑建一棵树:
在第 i 时刻直接考虑第m−i+1座城市和所有m−i+1的倍数连边。给第 i 天连的边赋权值 i。
所以题目转换成查询两点 x,y,找到图上一条两点之间的路径使得路径上的最大值最小。
答案直接查两个点之间的路径上的瓶颈就好了。
Code就不放了
反思:
考试时主要是在条件gcd(a,b)=m−i+1上被迷惑了,没有想到建树,以为是一道图论题。其实这题的方法还是比较裸的。
是我太菜了
746

被折叠的 条评论
为什么被折叠?



