HDU 5876 Sparse Graph(补图+BFS最短路)

Win10本地账户密码遗忘?巧用指纹/PIN快速重置(家庭版/专业版通用指南) 本文提供了一份详细的Win10本地账户密码遗忘自救指南,适用于家庭版和专业版用户。核心方法是利用已登录的指纹或PIN码权限,通过创建新的管理员账户或使用系统工具,安全重置遗忘的本地账户密码,无需第三方工具或重装系统,有效保护个人数据。 阅读详情

Sparse Graph

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 617    Accepted Submission(s): 210


Problem Description
In graph theory, the complement of a graph G is a graph H on the same vertices such that two distinct vertices of H are adjacent if and only if they are not adjacent in G.

Now you are given an undirected graph G of N nodes and M bidirectional edges of unit length. Consider the complement of G, i.e., H. For a given vertex S on H, you are required to compute the shortest distances from S to all N−1 other vertices.
 

Input
There are multiple test cases. The first line of input is an integer T(1≤T<35) denoting the number of test cases. For each test case, the first line contains two integers N(2≤N≤200000) and M(0≤M≤20000). The following M lines each contains two distinct integers u,v(1≤u,v≤N) denoting an edge. And S (1≤S≤N) is given on the last line.
 

Output
For each of T test cases, print a single line consisting of N−1 space separated integers, denoting shortest distances of the remaining N−1 vertices from S (if a vertex cannot be reached from S, output ``-1" (without quotes) instead) in ascending order of vertex number.
 

Sample Input
1 2 0 1
 

Sample Output
1 题意:给你一个图,和一个点s,然后问在它的补图中,点s到每个点的最短路是多长。 解题思路: 题意不难,但是第一次在树上做BFS,感觉边的关系不好维护,比赛时想到一个想法,但是不敢想,赛后写出来了。 给每个点开一个vector,然后记录跟这个点直接连接的点。然后以s为起点进行bfs.
<span style="font-size:18px;"> #include<iostream>
 #include<cstdio>
 #include<cstring>
 #include<algorithm>
 #include<cmath>
 #include<set>
 #include<queue>
 using namespace std;
 const int maxn=200010;
 vector<int> v[maxn];
 int n,m,dis[maxn],s;
 void BFS()
 {
     set<int> s1,s2;
     set<int>::iterator it;
     queue<int> que;
     que.push(s);
     dis[s]=0;
     for(int i=1;i<=n;i++)
        if(i!=s) s1.insert(i);


     while(!que.empty())
     {
         int u=que.front();
         que.pop();
         int len=v[u].size();
         for(int i=0;i<len;i++)
         {
             int vv=v[u][i];
             if(!s1.count(vv))
                continue;
             s1.erase(vv);
             s2.insert(vv);
         }
         for(it=s1.begin();it!=s1.end();it++)
         {
             que.push(*it);
             dis[*it]=dis[u]+1;
         }
         s1.swap(s2);
         s2.clear();
     }
 }
 int main()
 {
     int t,a,b;
     scanf("%d",&t);
     while(t--)
     {
         scanf("%d %d",&n,&m);
         memset(dis,0x3f,sizeof(dis));
         for(int i=0;i<maxn;i++) v[i].clear();
         for(int i=0;i<m;i++)
         {
             scanf("%d %d",&a,&b);
             v[a].push_back(b);
             v[b].push_back(a);
         }
         scanf("%d",&s);
         BFS();
         for(int i=1;i<=n;i++)
         {
             if(i==s){
                if(i==n) printf("\n");
                continue;
             }
             printf("%d%c",dis[i],i==n? '\n' : ' ');
         }
     }
     return 0;
 }
</span>


系统安装(kuntaiR522 kvm安装) 鲲泰R522服务器kvm安装rocky 阅读详情

相关推荐

不止是回退SDK:深入解读UE5.2编译时那个烦人的C4756警告与INFINITY宏的变迁

本文深入解析了UE5.2源码编译时出现的C4756警告及其背后的技术原因,探讨了Windows SDK中INFINITY宏的变迁对Unreal Engine的影响。文章详细介绍了微软修改INFINITY定义的技术考量,并提供了UE5.2应对此类问题的灵活解决方案,包括通过BuildConfiguration.xml文件精确控制工具链版本,确保构建系统的可重复性和可配置性。

weixin_27180827的博客 310

I - Sparse Graph(补图的最短路)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5876 题意: 给出n个点,m个边,求补图中,每个点到st的最短路。 解析: 由于补图边太多了,所以要从当前图中的边考虑。 用一个集合存还没有得到dis的点,做bfs的时候,将当前点所连的点遍历,若在set中,则将这些点移动到另外一个集合。那么操作后剩下的点就是与当前点直接相连的了。 复杂度O(n+m)O...

QAQ 1026

不修改MMDetection源码使用自定义数据和模型

以目标检测为例,用非侵入式的模型和MMDetection数据的方法进行配置。也就是不改动MMDetection的任何源码或目录的条件下,使用自定义数据训练自定义模型。

Dlite的技术笔记 1340

HDU - 5876 Sparse Graph (补图的最短路)

题意 : 就是给你一个图求他补图的最短路是多少。 思路: 首先他的点很多,但是边很少,我们不可能根据这个图去构建他的补图,因为点有20w不管怎样都不合适, 那我们就要换一个思路了,就是我们用两个set,第一个set维护一个当前点不能到达的所有点,第二个set表示的是当前点可以到达的所有点,那么我们每次看,如果当前点可以到达的点在第一个set里面我们就吧这个点抹去,把他加入到第二个set里面(点

wjmwsgj的博客 400

CentOS 7 安装 Python 3.10

我这里已经软链接了,正常未链接之前是python->python2.7而不是python3.10。python2.7默认安装是在 /usr/bin目录中,切换到/usr/bin/更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用。2. 安装 Python 3.10 必需的 openssl >= 1.1.1。默认的centos7是没有安装pip,先添加epel扩展源。/usr/bin/python 修改为如下。添加软链接,将原来的链接备份。添加python3的软链接。

bensonyang888的博客 2905

【JTAG】1149.6协议详解

JTAG1149.6协议是1149.1协议中Boundary-Scan结构的扩展,1149.1对交流耦合、差分或两者兼有的情况并没有得到充分的处理。该协议支持新的I/O测试结构。需要时变(AC)信号的高级I/O引脚允许测试它们之间的连接,这包括所有差分信号引脚或单端信号引脚,通过设计支持交流耦合。..................

xuhe0206的博客 4573

四川省赛 Travel (补图最短路)

I - Travel SCU - 4444 题目大意:一个完全图其中m条无向变的权值为a,剩下的为b,求1到n的最短路径。 解题思路:由于边数非常多,无法直接连边跑最短路。 考虑分为两种情况 1.a连接了1到n 那么答案肯定是a或者若干个b而不可能是ab的组合。 2.若b连接了1到n 那么答案肯定是b或者若干个a 对于1种情况就是要求其补图的最短路径。 解决方法:bfs ...

1999 286

易盾滑块的js逆向分析

基于易盾的滑块验证码进行逆向分析,最种实现全系列的验证码逆向,包括滑块、点选、推理拼图等多种类型。

shanf7921的博客 3万+

图论 补图最短路->bfs+set

hdu5877 题意:T组样例,没组n个点,m条边, 再输入一个点k,k 题解:用set 去存不相邻的点,然后累计增加长度, #include #include #include #include #include #include using namespace std; const int INF=0x7f7f7f; const int maxn=200005; st

DouBoomFly的博客 844

《网络安全自学教程》- 802.1x协议

802.1x协议架构,工作原理/认证流程,认证方式,MAB认证,触发认证的三种方式,EAP报文格式,EAPOL报文格式

wangyuxiang946的博客 2万+

MT4/MT5 第三代移动平均线(MetaTrader 指标)

第三代移动平均线(3G-MA)是传统MA指标的升级版本,通过"时滞压缩"算法将信号滞后降至理论极限(λ=2)。该指标在保留平滑性的同时,信号速度比EMA快1.5-2.3倍,适用于MT4/MT5平台。核心参数包括计算周期(默认34)、滞后压缩系数(2-10)和应用价位选择,支持斜率变色功能。安装简单,无需外部依赖,通过多周期共振可提升12-18%胜率。指标代码包含完整的MT4/MT5实现方案,采用双缓冲计算结构,通过相位前移算法抵消群延迟。风险提示:需配合其他技术指标和严格风控(≤2%账户

JanLEE 579

HDU 5876 Sparse Graph (另类BFS -- 补图的最短路)

大体题意: 给你一个稀疏图,原图是这个稀疏图的补图,告诉你起始位置S,求从原图S位置出发,求从S到每个位置的最短路!(路的权值都是1),如果到不了的输出-1! 思路: 很强的一个题,自己一点思路都没有,用dijkstra 想了许久,赛后补得! 这是一个求补图的最短路问题,看了许多学长的博客!都认为这是一个经典问题,,看来还差的远啊! 用BFS,思路比较巧妙! 首先是建图,建图肯定不能建

aozil_yang的博客 1017

辉芒微教程第七篇《PWM与PWM3调节LED灯的亮度》

这个其实就是PR3L = 128设置的,由于我们刚刚寄存器设置了8位模式,其设置的范围就是0-255,而128/255≈50%左右,因此PR3L就是我们的占空比调节的寄存器,我们可以通过它来调节占空比,大家可以试试它占空比设置10%,30%,60%来看看它的不同效果,灯的亮度是肯定不一样的,如果有条件的朋友,可以购买一款逻辑分析仪去看他的占空比。平平无期的这个东西有什么东东用,貌似是没什么用,只是一个概念而已,是不是不同设备可以设置1秒,3秒,10秒的周期就行?但是它占空比为什么是50%,怎么得来的?

qq_41809823的博客 825

hdu5876 Sparse Graph(补图最短路 bfs)

题目链接:hdu5876 Sparse Graph 详见代码。。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<queue> 5 #include<vector> 6 #include<set...

dhe56357的博客 200

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

HDU 5876 Sparse Graph 补图求最短路 双set + bfs()

Sparse Graph Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 2805Accepted Submissio...

点滴 333

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

hdu5876 Sparse Graph -补图的最短路-bfs

Sparse Graph In graph theory, the complement of a graph G is a graph H on the same vertices such that two distinct vertices of H are adjacent if and only if they are not adjacent in G. Now you are given an undirected graph G of N nodes and M bidirectional

ly59782的博客 509

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

HDU 5876 Sparse Graph(补图 最短路 BFS map)

Sparse Graph Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 1574    Accepted Submission(s): 553 Problem Description In graph the

充电五分钟 划水划半年 537

HDU 5876 Sparse Graph 【补图最短路 BFS】(2016 ACM/ICPC Asia Regional Dalian Online)

Sparse Graph Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 704    Accepted Submission(s): 241 Problem Description In graph theo

Coolxxx的博客 620

HDU 5876 Sparse Graph (补图找最短路/BFS)

#include #include #include #include #include using namespace std; const int maxn=1e6; int head[maxn],le,n,m; int dis[maxn]; int step[maxn]; mape[maxn]; void bfs(int s) { queueQ; Q.push(s);

Pig_Me的博客 403

HDU - 5876 Sparse Graph 2016 ACM/ICPC 大连网络赛 I题 bfs+set+补图最短路

题目链接 题意:给的补图,让你求一个源点到其他点的最短距离,因为图太稠密了, 用dij以及spfa根本不得行,这里只能用一种我不会方法来进行,这里用了bfs的方法以及set来维护,分别set维护一个未跑过的点集以及一个跑不到的点集,具体看代码. #include<stdio.h> #include<string.h> #include<iostream> ...

swust5120171204的博客 188

HDU 5876 Sparse Graph(bfs求解补图中的单源最短路)——2016 ACM/ICPC Asia Regional Dalian Online

HDU 5876 Sparse Graph(bfs求解补图中的单源最短路)——2016 ACM/ICPC Asia Regional Dalian Online

queuelovestack的专栏 1135

hdu5876 Sparse Graph(补图最短路)

题目链接 Sparse Graph Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 228    Accepted Submission(s): 81 Problem Description In g

fouzhe的博客 929

Hdu 5876 Sparse Graph(补图最短路)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5876 思路:用set维护未访问节点。BFS时,对于点u,枚举所有未访问点v,若u、v在原图中无边连接,则将v点入队·,更新最短距离,并且删除点v。 #include #include #include #include #include #include using namespace std;

哆啦AC梦的博客 969

HDU5876 Sparse Graph 补图的最短路

题目描述:Problem Description In graph theory, the complement of a graph G is a graph H on the same vertices such that two distinct vertices of H are adjacent if and only if they are not adjacent in G. Now

喵头鹰的博客 397

【HDU - 5876】Sparse Graph(补图bfs,STLset)

题干: In graph theory, thecomplementcomplementof a graphGGis a graphHHon the same vertices such that two distinct vertices ofHHare adjacent if and only if they arenotnotadjacent inGG. Now yo...

xuanweiace的博客 671
上一篇: HDU 4445 Running Rabbits(模拟)
下一篇: HDU 5901 Count primes
hellohelloC
博客等级 码龄12年 15粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值