首页 > 其他分享 >最短路图

最短路图

时间:2022-10-22 18:24:35浏览次数:80  
标签:鸽子 壮丁 短路 pjudge 图上 uoj

对于点有点权的图 \(g= \{v,e\}\),定义 \(i\) 到 \(j\) 的最短路径为所有 \(i\) 到 \(j\) 的路径中经过点权和。定义最短路图为 \(G=\{V,E\}\),其中 \(V \subseteq v, E \subseteq e\),并且 \(V\) 中的每条边都在至少一条最短路上,\(E\) 中的每个点都在至少一条最短路上。

构建方案:考虑 \(dis\) 表示源点到该点的距离,\(sid\) 表示汇点到该点的距离,则 \(i -> j\) 存在于最短路图上当且仅当 \(dis[i] + sid[j] =\) 最短路距离。

这样构建出来的图是一个 DAG。在这个图上可以做一些事情。

Pjudge NOIP Round #3 Div.1B 抓内鬼

https://pjudge.ac/problem/21694

UR#24 的题面被内鬼偷走了!

为了找回丢失的题面,uoj 管理员决定和 pjudge 管理员合作,让内鬼无路可逃。

内鬼在一个 \(n\) 个点 \(m\) 条边的简单无向连通图上行走,他从 \(1\) 号点出发,目标是 \(n\) 号点。

uoj 和 pjudge 分别抓了 \(k\) 和 \(n−k\) 个壮丁。图上的每个点会恰好分配一个壮丁,负责盘问来往行人。因为人流量不同,一个人经过第 \(i\) 个点需要花费的时间是 \(t_i\) 。经过一条边的时间可以忽略不计。

uoj 的壮丁很清楚其他 uoj 的壮丁都是鸽子,pjudge 的壮丁也很清楚其他 pjudge 的壮丁都是鸽子,但他们相互不知道对方是不是鸽子。所以,只有当内鬼经过的一条边的两边的壮丁来自同一个 oj 时,他才会被抓住。

你需要构造一个分配壮丁的方案,使得对于任意一条 \(1\) 到 \(n\) 的最短路,内鬼走这条路都会被抓住。或者判断无解。

分析:

建出最短路图之后,按照拓扑排序,前 \(k\) 个给 U,其余的给 P 即可。

image

感性理解一下。只有最短路图是双层的,也就是 \(1,n\) 之间有连边并且 \(k=1\) 的时候这样才没有效果,这时我们要让 \(1\) 和 \(n\) 颜色一样。如果 \(n=2\),那么 impossible。否则可以构造出解。

标签:鸽子,壮丁,短路,pjudge,图上,uoj
From: https://www.cnblogs.com/Zeardoe/p/16816845.html

相关文章

  • 最短路个人总结
    最短路(一)DijkstraDijkstra算法可求任一点到定点的最短路,适于有向图和无向图(对有向图有用的就一定对无向图有用),其边权不可为负(一条边都不行)。数组vis标记访问过的点,数组di......
  • C++课程设计《最短路径》
    C++课程设计《最短路径》课程设计《最短路径》课程设计题目:最短路径实验设计目的与要求:2.1目的:1)熟练应用C++的基本知识、技能。通过本课程设计,总结C++中抽象数据......
  • ac 853有边数限制的最短路
    #include<bits/stdc++.h>usingnamespacestd;constintN=510,M=10010;intn,m,k;intdist[N],backup[N];structEdge{inta,b,w;}edges[M];in......
  • 做题记录整理图论/最短路/dp/记忆化搜索 P3953 [NOIP2017 提高组] 逛公园(2022/10/19)
    P3953[NOIP2017提高组]逛公园https://122720.blog.luogu.org/p3953-ti-xie-ji-yi-hua-sou-suo大佬讲得挺好的,我就不写了#include<bits/stdc++.h>#definefor1(i,a,b......
  • VCC和GND短路,怎么找问题?
         在调试电路时,可能经常会遇到VCC和GND短路的情况。板子上的VCC和GND点太多了,新手可能觉得不知道从哪找,下面就介绍几种方法,供大家参考。1.目测    最简单的方法,......
  • 847. 访问所有节点的最短路径
    题目描述给了一个无向联通图,图中节点个数是n,编号从0-n-1,问能访问所有节点的最短路径长度是多少?可以从任一节点开始和停止,可多次访问节点,可重用边。f1-bfs+状态压缩基本......
  • T278162 最短路 (spfa+分层图)
    (没穿红色的可莉......)题目描述给定一张\(n\)个点\(m\)条边的连通图,每条边有权值\(w\),定义从\(u_1\)到\(u_x\)经过边\(e_1,e_2,…,e_k\)的路径长度为:请分别......
  • TZOJ 1693:银牛派对(最短路/dijstra)
    描述 N个农场(1≤ N ≤1000)中的每一个都有一头奶牛,编号为1.. N将参加在农场# X(1≤ X ≤ N)举行的大型奶牛聚会。总共有M (1≤ M ≤100,000)条单向(单向......
  • 二修最短路
    观看前提示:本人的码风可能会引起您的不适。写作时间:2022-9-10~2022-10-12.1.Floyd全源最短路1-1朴素弗洛伊德,枚举每个点然后进行松弛,这样可以在\(\Theta(n^{3})\)时......
  • TZOJ 7685: 最短路径 (dijstra/输出路径pre)
    描述  给定n个顶点的带权有向图,若从顶点x到顶点y之间存在一条路径,那么这条路径的长度定义为路径上各条边的权值之和。现在请你找出从顶点1到顶点n的一条最短路径。......