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

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

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

      【藍橋杯 2019 省 A】修改數(shù)組【并查集】

      鏈接

      https://www.luogu.com.cn/problem/P8686

      題意

      給你 \(n\) 個數(shù) a[1...n],從 \(a_2\) 開始,如果和之前的某個數(shù)具有相等的值,就一直讓 \(a_i = a_i + 1\),直到前面的任何一個數(shù)都和它不相等

      \(1 \leq n \leq 10^5\)\(1 \leq a_i \leq 10^6\)

      問最后的序列是什么

      思路

      暴力做法是循環(huán),對于每個 \(a_i\),讓它每次加一

      估算一下,暴力會超時

      怎樣優(yōu)化呢?

      把每次前移看成一種關系,前驅(qū)結點是祖先(父親),最容易想到的應該是路徑壓縮,縮短前移的路徑,使得不用每次一個個前移。
      (雖然并查集描述的是集合的關系,但是本質(zhì)上還是一棵樹,這就是并查集的本質(zhì)呀,沒想到學了這么多年并查集,還沒有想到這個點上)

      用 fa[x]存儲x所在的集合里,最小的沒有出現(xiàn)過的數(shù),對于每個 \(a_i\),輸出ans = fa[f(a[i])],然后令 fa[ans] = ans + 1

      代碼

      #include<bits/stdc++.h>
      #define ull unsigned long long
      #define ll long long
      using namespace std;
      const int N = 2e6 + 10;
      int n, m, fa[N], sz[N];
      int a[N];
      
      inline int f(int x) {
          return (x == fa[x] ? x : (fa[x] = f(fa[x])));
      }
      
      int main() {
          ios::sync_with_stdio(false);
          cin >> n;
          for(int i = 1; i <= 1e6; i++) fa[i] = i;
          for(int i = 1; i <= n; i++) {
              cin >> a[i];
              cout << fa[f(a[i])] << ' ';
              fa[fa[f(a[i])]] = fa[f(a[i])] + 1;
          }
          cout << '\n';
          return 0;
      }
      
      posted @ 2023-05-29 15:34  starlightlmy  閱讀(41)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 维西| 骚虎三级在线免费播放| 国产AV大陆精品一区二区三区| 亚洲精品麻豆一区二区| 国内视频偷拍久久伊人网| 国产最大的福利精品自拍| 色综合久久中文综合久久激情 | 国产女人叫床高潮大片| 国产精品福利片在线观看| 国产成人高清精品免费软件| 1024你懂的国产精品| JIZZJIZZ国产| 国产成人无码一区二区三区| 阳谷县| 国产精品99久久久久久www| 日韩av中文字幕有码| 少妇一边呻吟一边说使劲视频| 色综合天天综合天天综| 深夜宅男福利免费在线观看| 少妇人妻偷人精品视蜜桃 | 国产乱码日韩亚洲精品成人| 好吊视频在线一区二区三区| 中文字幕日韩有码国产| 一 级做人爱全视频在线看| 久久精品夜夜夜夜夜久久| 综合偷自拍亚洲乱中文字幕| 亚洲午夜香蕉久久精品| 成人精品天堂一区二区三区| 眉山市| 精品视频在线观看免费观看| 亚洲av成人在线一区| 草裙社区精品视频播放| 国产成人高清在线重口视频| 国内精品久久久久影院网站| 国产在线永久视频| 乱色老熟妇一区二区三区| 国产福利姬喷水福利在线观看| 欧美z0zo人禽交另类视频| 一区二区三区国产偷拍| 国产伦码精品一区二区| 国产啪视频免费观看视频|