日韩性视频-久久久蜜桃-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)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 奶波霸巨乳一二三区乳 | 亚洲成av人片在线观看无码 | 日本一区免费看 | 亚洲超碰在线观看 | 一本大道av伊人久久综合 | 俄罗斯嫩小性bbwbbw | 欧美日视频 | 欧美日韩精品中文字幕 | 99热这里只有精品9 日韩综合在线 | 午夜看片福利 | 国产精品成人免费视频 | 温柔女教师在线观看 | 天堂二区 | 日本一区二区在线免费 | 爆乳熟妇一区二区三区霸乳 | h视频在线免费观看 | 亚洲AV无码精品色毛片浪潮 | 九九碰 | 中文字幕性 | 99久久婷婷国产综合精品电影 | 亚洲丁香花色 | 折磨小男生性器羞耻的故事 | 天天躁日日躁狠狠躁免费麻豆 | 狠狠躁夜夜躁xxxxaaaa | 禁断介护av | 青青视频免费 | 欧美色亚洲 | 精品国模| 波多野结衣亚洲天堂 | 亚洲五月综合 | 三级a级片 | 啪啪在线视频 | 欧美日韩精品久久 | 中文字幕不卡在线 | 免费毛毛片 | 天堂影院一区二区 | 久久久久久免费毛片精品 | 一区二区三区中文字幕在线观看 | 少妇人妻真实偷人精品视频 | 黄色片视频网站 | 中文字幕一区二区三区免费 | 韩国精品在线观看 | 91精品国产高清 | 午夜精品视频一区二区三区在线看 | 伊人网综合 | 精品国产亚洲一区二区麻豆 | 国产日本欧美在线观看 | 激情黄色小说视频 | 成人高清网站 | 国产妇女馒头高清泬20p多 | 精品毛片一区二区三区 | 高清久久 | 美女隐私无遮挡免费 | 国产素人在线观看 | 欧美a级肉欲大片xxx | 日本在线免费观看视频 | 九九免费精品视频 | 国产中文字幕网 | 欧美极品少妇xxxxⅹ裸体艺术 | 91精品人妻一区二区三区四区 | 人成精品 | 亚洲欧美国产一区二区三区 | 国产欧美在线 | 久久日本视频 | 国产又好看的毛片 | 又黄又骚的视频 | 日韩精品字幕 | 亚洲视频欧美 | 99久久精品免费看国产免费软件 | 久久久久国产精品国产 | 四虎影视免费观看 | 日韩欧美国产成人精品免费 | 日本少妇中出 | 亚洲日本护士毛茸茸 | 天天做夜夜爽 | 五月开心婷婷 | 在线观看福利视频 | 中国丰满老妇xxxxx交性 | 亚洲精品在线一区二区 | 天堂视频在线 | 人妻少妇精品无码专区 | 色乱码一区二区三区在线男奴 | 国产a线| 玉米地疯狂的吸允她的奶视频 | 在线97视频 | 国产a一区二区三区 | 嫦娥性艳史bd | 亚洲欧美自拍偷拍 | 免费黄网站在线观看 | 欧美激情视频一区二区三区不卡 | 拍真实国产伦偷精品 | 一区二区三区亚洲视频 | www天堂在线 | 青青青国内视频在线观看软件 | 人人综合网 | 欧美一a| 日韩精品999 | 国产露脸无套对白在线播放 | 国产99在线播放 |