日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【HDU - 5876】Sparse Graph(补图bfs,STLset) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題干:

In graph theory, the?complementcomplement?of a graph?GG?is a graph?HH?on the same vertices such that two distinct vertices of?HH?are adjacent if and only if they are?notnotadjacent in?GG.?

Now you are given an undirected graph?GG?of?NN?nodes and?MM?bidirectional edges of?unitunit?length. Consider the complement of?GG, i.e.,?HH. For a given vertex?SS?on?HH, you are required to compute the shortest distances from?SS?to all?N?1N?1?other vertices.

Input

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

Output

For each of?TT?test cases, print a single line consisting of?N?1N?1?space separated integers, denoting shortest distances of the remaining?N?1N?1?vertices from?SS?(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

題目大意:

給一個N個點M條邊的無向圖,給你一個圓點,讓你在對應圖的補圖上求出起點S到每個點的最短路。

解題報告:

正常bfs是對于當前點來說枚舉當前點的每一條邊,看該點是否遍歷過來決定是否進行入隊操作。而對于這個題,因為補圖的邊的數量非常大,所以我們可以從點的角度入手,因為一共需要更新1e5個點,所以我們可以直接在每一次循環中都先枚舉每一個點,看他和當前點是否有連邊,如果原圖中沒有這條邊的話那就可以直接更新這個點,并且把他放到隊列中。通過枚舉邊變成枚舉點,減少時間復雜度。也就是正常bfs是枚舉每一個邊看是否出點被更新過,這個題因為邊數很多但是點數不多,所以可以枚舉每一個沒出現過的點,看這條邊是否存在。

AC代碼:

#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<stack> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #define FF first #define SS second #define ll long long #define pb push_back #define pm make_pair using namespace std; typedef pair<int,int> PII; const int INF = 0x3f3f3f3f; const int MAX = 2e5 + 5; set<int> ss; set<int> vv[MAX]; int st,n,m; int dis[MAX]; void bfs(int st) {for(int i = 1; i<=n; i++) dis[i] = INF;dis[st] = 0;ss.erase(st);queue<int> q;q.push(st);while(q.size()) {vector<int> tmp;int cur = q.front();q.pop();for(auto it = ss.begin();it!=ss.end(); ++it) {int v = *it;if(vv[cur].find(v) == vv[cur].end()) {dis[v] = dis[cur]+1;tmp.pb(v); q.push(v);} }for(auto v : tmp) ss.erase(v);} } int main() {int T;cin>>T;while(T--) {scanf("%d%d",&n,&m);ss.clear();for(int i = 1; i<=n; i++) ss.insert(i);for(int i = 1; i<=n; i++) vv[i].clear();for(int u,v,i = 1; i<=m; i++) scanf("%d%d",&u,&v),vv[u].insert(v),vv[v].insert(u);scanf("%d",&st);bfs(st);int cnt = 1;for(int i = 1; i<=n; i++) {if(i == st) continue;if(dis[i] == INF) printf("%d%c",-1,cnt == n-1 ? '\n' :' ') ;else printf("%d%c",dis[i],cnt == n-1 ? '\n' :' ');cnt++;}}return 0 ; }

?

總結

以上是生活随笔為你收集整理的【HDU - 5876】Sparse Graph(补图bfs,STLset)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲欧美另类日本 | 一区二区日本 | 黑人100部av解禁片 | 国产精品久久久一区二区 | 影音先锋 日韩 | 在线视频一区二区三区四区 | 久久精品国产99国产 | 亚洲黄色av网站 | 免费日本黄色 | 天堂资源最新在线 | 午夜大片 | 欧美精品1 | 国产精品区一区二区三 | 精品人妻一区二区三区四区五区 | 少妇一级视频 | 天堂www中文在线资源 | 久久久久久91亚洲精品中文字幕 | 五月婷婷天堂 | 亚州综合 | 欧美在线影院 | 国产精品久久久久毛片大屁完整版 | 天天干天天碰 | 成人日韩欧美 | 欧美色啪 | 日本黄色三级视频 | 天堂色综合 | 日韩日韩| 国产视频久久久 | 绿帽在线 | 精品国产亚洲一区二区麻豆 | 国产亚洲久一区二区 | 女人av在线 | 久久久久久久久久艹 | 亚洲天堂爱爱 | 国产成人一区二区三区免费看 | 亚洲精品免费网站 | 精品色综合 | 91av免费 | 黑人一级片 | 久久精品国产亚洲av久一一区 | 亚洲av永久一区二区三区蜜桃 | 蜜臀一区二区三区精品免费视频 | 免费观看黄色 | 国产精品制服诱惑 | 成人黄色小说在线观看 | jizz日本免费 | 99精品人妻无码专区在线视频区 | 亚洲人人夜夜澡人人爽 | 色无极影院亚洲 | 亚洲小视频在线播放 | 久久久久亚洲色欲AV无码网站 | 亚洲av成人片无码 | www.youjizz.com亚洲 | 天天想你在线观看完整版高清 | 最新免费黄色网址 | 日韩免费a | 国内自拍真实伦在线观看 | 波多野结衣视频在线观看 | 韩国一区二区三区视频 | 亚洲精品乱码久久久久久9色 | 欧美又粗又大aaa片 老熟妇仑乱视频一区二区 亚洲妇女体内精汇编 | 亚色视频在线 | 人妻aⅴ无码一区二区三区 阿v免费视频 | 欧美性猛交性大交 | 国产偷自拍视频 | 欧美日韩亚洲一区二区三区 | 国产日本欧美在线观看 | 精品在线视频播放 | 色婷婷av一区二区三区gif | 岛国av动作片 | 一个色综合网站 | xxxx少妇| 一卡二卡三卡视频 | 重口另类 | 天天看毛片 | 中出少妇 | 日本免费黄色 | 久久亚洲中文字幕无码 | 国产成人免费av | 欧美一区二区三区久久综合 | 色吊妞 | 激情五月综合 | 99riav3国产精品视频 | 日韩亚洲视频 | 女人叫床高潮娇喘声录音mp3 | 成人录像 | 成年人免费大片 | 久久精品影视 | 未满十八岁勿进 | 一眉道姑 电影 | 四虎影库在线播放 | 麻豆网站在线看 | 操操操操操操操 | 美女又爽又黄免费 | 丰满少妇一区二区 | 日本少妇裸体做爰高潮片 | 一本色道久久hezyo无码 | 精品视频久久久久 | 青青草原成人网 |