<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      鏈式并查集合并(裸板)

      對于操作:將一段元素合并為同類。

      在合并 \([l,r]\) 這一段數的時候,其實有很多數本來就在一個并查集里。我們只需要合并若干個還沒有合并的并查集,而不需要從 \(l\)\(r\) 一個一個合并。因為只要合并了這幾個并查集,效果等價于把 \([l,r]\) 直接合并了。

      實現方法:每次記錄一個 \(nxt[i]\) 表示第 \(i\)個點后面第一個沒有和 \(i\) 合并的點。每次合并的時候直接 $i=nxt[i] $處理即可,最后把 $[l,r] $中所有的 nxt[i] 都賦值為 \(nxt[r]\)。這樣的話,兩個不同的并查集在這一操作中至多合并一次。
      https://codeforces.com/problemset/problem/566/D

      #include<bits/stdc++.h>
      #define endl '\n'
      #define lowbit(x) (x&-x)
      using namespace std;
      const double pi=acos(-1);
      const int N=2e5+5;
      int fa[N],nx[N];
      
      int find(int i){
      	if(i!=fa[i]) fa[i]=find(fa[i]);//路徑壓縮
          return fa[i];
      }
      
      void join(int u,int v){
          u=find(u);
          v=find(v);
          if(u==v) return;
          if(u<v) swap(u,v);
          fa[v]=u;
      }
      
      void solve(){
          int n,q;cin>>n>>q;
          for(int i=1;i<=n+1;i++){
              fa[i]=i;
              nx[i]=i+1;
          }
          while(q--){
              int op;cin>>op;
              int x,y;cin>>x>>y;
              if(op==3){
                  x=find(x);
                  y=find(y);
                  if(x==y) cout<<"YES"<<endl;
                  else cout<<"NO"<<endl;
              }
              if(op==1){
                  join(x,y);
              }
              if(op==2){
                  int ty=find(y);
                  for(int i=x;i<=y;){
                      int t=i;
                      i=nx[i];
                      fa[find(t)]=ty;
                      nx[t]=nx[y];
                  }
              }
          }
      }
      
      signed main(){
          ios::sync_with_stdio(false);cin.tie(nullptr);
          int t=1;
          //cin>>t;
          while(t--) solve();
          return 0;
      }
      
      
      
      

      posted on 2024-11-06 18:51  TaopiTTT  閱讀(62)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 色综合久久久久综合体桃花网| 成av人电影在线观看| 噜噜久久噜噜久久鬼88| 日本亲近相奷中文字幕| 亚洲特黄色片一区二区三区 | 色婷婷综合久久久久中文字幕| 兴城市| 天堂网亚洲综合在线| 久9视频这里只有精品| 精品一区二区亚洲国产| 一区二区三区四区亚洲综合| 欧美日韩亚洲国产| 午夜福利国产精品小视频| 国产尤物精品自在拍视频首页| 亚洲中文久久久精品无码| 伊人久久大香线蕉综合观| 国产999久久高清免费观看| 暖暖影院日本高清...免费| 亚洲欧美人成网站在线观看看| 咸丰县| 精品国产一区二区三区久| 天干天干天啪啪夜爽爽99| 国产三级精品三级在线看| 日韩福利视频导航| 国产精品美女一区二三区| 激情五月天自拍偷拍视频| 亚洲 丝袜 另类 校园 欧美 | 国产成人高清亚洲综合| 日韩国产成人精品视频| 无码一区二区波多野结衣播放搜索| 思思热在线视频精品| 40岁大乳的熟妇在线观看| 成人拍拍拍无遮挡免费视频| 国产精品视频中文字幕| 大连市| 不卡一区二区三区视频播放| 波多野结衣美乳人妻hd电影欧美| 性一交一乱一乱一视频| 亚洲青青草视频在线播放| 色综合久久天天综线观看| 亚洲中文字幕日产无码成人片|