题目 题目来源于北华大学计算机程序设计算法提高训练营个人赛的J题,邀请码:bhu2022。 给出一个$n(1\leq n\leq 10^6)$点$m$边的无向图每条边长为$1$,每个点拥有一个$0/1$的点权,0表示雌性,1表示雄性。一共有$q$次询问,每次询问x,回答距离点x最近的异性的最短距离是。 思路 考虑到数据范围比较大,肯定不能用暴力,所以需要用两遍bfs,一次从所有的0出发,去更新每个1点到0的最短距离;一次从所有的1出发,去更新每个0点到1的最短距离。 令f[i][0/1],其中f[i][0]表示点i…