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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【LCT】洞穴勘测(luogu 2147/金牌导航 LCT-1)

發布時間:2023/12/3 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【LCT】洞穴勘测(luogu 2147/金牌导航 LCT-1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

洞穴勘測

luogu 2147

金牌導航 LCT-1

題目大意

給你若干操作,有三種操作:
1.連接兩個點
2.吧兩個點之間的連邊斷掉(保證有這條邊)
3.查詢兩個點之間是否連通

樣例 #1

輸入樣例 #1

200 5 Query 123 127 Connect 123 127 Query 123 127 Destroy 127 123 Query 123 127

輸出樣例 #1

No Yes No

樣例#2

輸入樣例 #2

3 5 Connect 1 2 Connect 3 1 Query 2 3 Destroy 1 3 Query 2 3

輸出樣例 #2

Yes No

數據范圍

1?n?104,m?2×1051\leqslant n\leqslant 10^4, m\leqslant 2\times 10^51?n?104,m?2×105

解題思路

在LCT上建出相應的圖,每次查詢判斷根節點是否相同即可

代碼

#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define ll long long #define N 10010 using namespace std; int n, m, x, y, top, p[N], d[N], fa[N], son[N][2]; string str; bool IR(int x)//LCT模板 {if (!fa[x]) return true;return son[fa[x]][0] != x && son[fa[x]][1] != x; } void down(int x) {if (p[x] && x){swap(son[x][0], son[x][1]);p[son[x][0]] ^= 1;p[son[x][1]] ^= 1;p[x] = 0;}return; } bool ILS(int x) {return x == son[fa[x]][0]; } int which(int x) {return x == son[fa[x]][1]; } void rotate(int x) {int y = fa[x], z = fa[y], k = !ILS(x), g = son[x][!k];if (!IR(y)) son[z][!ILS(y)] = x;son[x][!k] = y;son[y][k] = g;if (g) fa[g] = y;fa[x] = z;fa[y] = x;return; } void Splay(int x) {d[top = 1] = x;for (int i = x; !IR(i); i = fa[i]) d[++top] = fa[i];while(top) down(d[top--]);while(!IR(x)){if (!IR(fa[x])){if (ILS(x) == ILS(fa[x])) rotate(fa[x]);else rotate(x);}rotate(x);}return; } void access(int x) {for (int y = 0; x; y = x, x = fa[x]) Splay(x), son[x][1] = y;return; } void make_root(int x) {access(x);Splay(x);p[x] ^= 1;return; } int find_root(int x) {access(x);Splay(x);down(x);while(son[x][0]) x = son[x][0], down(x);Splay(x);return x; } void link(int x, int y) {make_root(x);fa[x] = y;return; } void cut(int x, int y) {make_root(x);access(y);Splay(y);son[y][0] = 0;fa[x] = 0;return; } int main() {scanf("%d%d", &n, &m);while(m--){cin>>str;scanf("%d%d", &x, &y);if (str == "Connect") link(x, y);else if (str == "Destroy") cut(x, y);else if (find_root(x) == find_root(y)) puts("Yes");//判斷根節點是否相同else puts("No"); }return 0; }

總結

以上是生活随笔為你收集整理的【LCT】洞穴勘测(luogu 2147/金牌导航 LCT-1)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 好吊妞在线观看 | 久久成人乱码欧美精品一区二区 | 天天色综合影视 | 欧美老熟妇一区二区三区 | 国产欧美一区二区三区四区 | 少妇无码吹潮 | 韩国av在线播放 | 久久久久国| 91精品91久久久中77777 | 玖玖爱在线精品视频 | 久久精品五月天 | 日本亚洲欧美 | 狼人综合视频 | 中文字幕av无码一区二区三区 | 操操操综合 | 欧美日韩国产免费一区二区三区 | 日韩精品一区二区三区中文在线 | 男人和女人日批视频 | 亲子乱对白乱都乱了 | 日本人妖xxxx| 亚洲伦理一区二区三区 | 肉嫁高柳在线 | 国产大屁股喷水视频在线观看 | 久久久18禁一区二区三区精品 | 亚洲精品国产一区 | 欧美性白人极品1819hd | 国产男女视频 | 在线观看 中文字幕 | 成人av一区二区三区 | 亚洲欧美日韩在线 | 日本爽妇网 | av片大全 | 国模在线观看 | 国产三区在线成人av | 男人的亚洲天堂 | www黄色在线观看 | 琪琪午夜伦理 | 国产欧美精品一区二区三区app | 麻豆黄色网址 | 欧美在线a| 久久综合久久综合久久综合 | 丰满人妻一区二区三区精品高清 | 综合久久2o19 | 久久久久免费精品 | 亚洲男女一区二区三区 | 美国特色黄a大片 | 七月丁香婷婷 | 亚洲成a人v欧美综合天堂麻豆 | 亚洲一区在线免费观看 | 无码精品人妻一区二区三区影院 | 久久综合久久综合久久 | 成人第一页 | 黄色一级片av | 91中文在线观看 | 国产盗摄精品一区二区酒店 | 三上悠亚人妻中文字幕在线 | 国产福利电影在线 | 国语对白对话在线观看 | 在线一区二区不卡 | 热热色av| 我们的2018在线观看免费高清 | 欧美一级免费视频 | 国产日批视频在线观看 | 国产精品毛片一区二区在线看舒淇 | 亚洲综合久久久 | 国产高清一区二区三区 | 性色av一区二区三区免费 | av软件在线观看 | 日韩福利片在线观看 | 国产男男网站 | 日本a级无毛| 亚洲精品在线视频 | 天堂网视频在线 | 精品久久伊人 | 精品视频无码一区二区三区 | 国产精品你懂的 | 日本一区二区在线视频 | 999国内精品永久免费视频 | 玩弄丰满少妇xxxxx性多毛 | 很黄很黄的网站 | 久久亚洲综合 | 国产一区二区三区四区 | 国产乱码在线观看 | 日本韩国在线 | 手机免费av| 久久久视频6r | 免费网站污 | 韩国伦理在线 | 欧美精品一级二级三级 | 日韩精品区| 欧美精品国产 | 男女男精品网站 | 亚洲国内精品 | 中文有码av | 不卡的av在线 | 超碰在线视屏 | 国产又粗又大又黄 | 成人免费毛片观看 | 九九精品视频免费 |