首页 > TAG信息列表 > CF1051F

CF1051F The Shortest Statement

题面传送门 zyq扒原题不要脸! 题目要我们求图上任意两点间最短路。 这个显然很难解决。 于是我们可以观察一下数据范围。 然后就可以发现一个奇怪的事情,最多只是生成树上加\(21\)条边。 考虑先随便搞出一棵生成树。然后对于这\(21\)条边强制走,剩下的生成树上lca即可。 然而,这道题z

CF1051F The Shortest Statement

题意简述 题目链接   给定一张n个点m条边的无向图,满足m-n<=20,然后进行q次操作,每次给定两个点,询问两点间最短路。   数据范围:1<=n,m,q<=105。 算法概述   只看题面显然是个裸的全源最短路,但是再看数据范围……显然不是全源最短路。   所以这时候就需要发挥我们的聪明才

CF1051F The Shortest Statement 倍增+最短路

分析 这个题第一眼看见查询的次数就知道不可能每次都跑一遍Dij,看到\(n\)的范围就知道Floyd不可,然后想,反正跑的是最短路,用一个最小生成树呗,答案显然是错的。 这样的话1到3的最短路会算成4而不是3,接下来注意到它不断在提的东西,边和点的差值不会很大,也就是说如果搭出一棵树,最短路中