https://ac.nowcoder.com/acm/contest/76133
总结:赛时由于思考问题不清晰(体现在FG),感觉仔细思考一会就不行了,侥幸过了最短路的构造题,写的时候也是不顺利,构造也确实没怎么练过。
E题: 就是个给你从1出发的最短路的结果,要求你给出图的构造,这种反向题目还真没仔细思考过。
此外特殊的是本题是无向图且所有边权为1,边权为1应该联想bfs,然后想到bfs根据到出发点的距离将图分为层,所以我们可以构造一棵树,每个点的到根的路径唯一,最短路就是深度。
做法:题目给定了边的数量m,考虑合法范围内的m的下界就是n-1个点,上界呢?
思考哪些边加了也不会影响最短路
1.同层的点相互连边
2.距离为1的点的相互连边
可以提前算出来m的最大值,然后把m过大的情况判掉。
对于合法情况:我们保证把建树的边用掉,剩余多出来的边从上面两类中不断加,直到总边数==m
标签:周赛,round35,短路,构造,bfs,牛客 From: https://www.cnblogs.com/mathiter/p/18052996