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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

小a与军团模拟器

發布時間:2024/10/5 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小a与军团模拟器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://ac.nowcoder.com/acm/contest/317/I

C++版本一

std

題解:啟發式合并

#include<cstdio> #include<algorithm> #include<cstring> #include<queue> #include<iostream> #include<ctime> #include<cmath> #include<set> #include<map> #define ll long long #define M 200010 using namespace std; int read() {int nm = 0, f = 1;char c = getchar();for(; !isdigit(c); c = getchar()) if(c == '-') f = -1;for(; isdigit(c); c = getchar()) nm = nm * 10 + c - '0';return nm * f; }int note[M], sz[M], cor[M], id[M]; vector<int>to[M], to1[M]; int n, q, ans; void dfs(int now, int fa) {if(cor[now] != 0 && cor[now] != cor[fa]) ans++;for(int i = 0; i < to[now].size(); i++) {int vj = to[now][i];if(vj == fa) continue;dfs(vj, now);} }void del(int x) {for(int i = 0; i < to[x].size(); i++) {int vj = to[x][i];if(cor[vj] != cor[x]) ans--;} } void insert(int x) {for(int i = 0; i < to[x].size(); i++) {int vj = to[x][i];if(cor[vj] != cor[x]) ans++;} } int tot = 0, tot2 = 0; int main() {n = read(), q = read();for(int i = 1; i <= n; i++) cor[i] = read(), sz[cor[i]]++, to1[cor[i]].push_back(i), id[i] = i, note[i] = i;for(int i = 1; i < n; i++) {int vi = read(), vj = read();to[vi].push_back(vj), to[vj].push_back(vi);}to[1].push_back(0), cor[0] = 0x3e3e3e3e;dfs(1, 0);while(q--) {int x = read(), y = read();int xn = id[x], yn = id[y];if(sz[xn] < sz[yn]) {tot += sz[xn], tot2 += to1[xn].size();for(int i = 0; i < to1[xn].size(); i++) {int op = to1[xn][i];del(op);to1[yn].push_back(op);}for(int i = 0; i < to1[xn].size(); i++) {int op = to1[xn][i];cor[op] = yn;}for(int i = 0; i < to1[xn].size(); i++) {int op = to1[xn][i];insert(op);}to1[xn].clear();sz[yn] += sz[xn];sz[xn] = 0;id[x] = 0;} else {tot+=sz[yn], tot2 += to1[yn].size();for(int i = 0; i < to1[yn].size(); i++) {int op = to1[yn][i];del(op);to1[xn].push_back(op);}for(int i = 0; i < to1[yn].size(); i++) {int op = to1[yn][i];cor[op] = xn;}for(int i = 0; i < to1[yn].size(); i++) {int op = to1[yn][i];insert(op);}to1[yn].clear();sz[xn] += sz[yn];sz[yn] = 0;id[y] = xn;id[x] = 0;}cout << ans << "\n";}return 0; }

?

總結

以上是生活随笔為你收集整理的小a与军团模拟器的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产成人在线视频播放 | 爱草在线视频 | 黑人干亚洲女 | 国产免费大片 | 国产又黄又猛又粗又爽 | www国产精品内射熟女 | 日韩精品视| 黑色丝袜吻戏亲胸摸腿 | 国产一级二级视频 | 欧美一二三 | 91亚洲精品国偷拍自产在线观看 | 91成人精品国产刺激国语对白 | 日韩第一视频 | 最新国产精品 | 麻豆av毛片 | 日本黄色一区二区三区 | 99国产在线 | 久久艹艹 | 国产三级全黄裸体 | 中国女人内精69xxxxxx | 福利片在线播放 | 日本japanese丰满白浆 | 日本高清不卡视频 | 日本黄在线观看 | 久久久久久久久久91 | youjizz国产 | 日韩专区欧美专区 | 色人阁五月天 | 成人动漫在线免费观看 | 亚洲AV无码国产精品国产剧情 | 绯色av一区 | 亚洲综合视频一区 | 亚洲天堂影院 | 午夜福利视频合集1000 | 亚洲欧美日韩综合在线 | 欧美日韩人妻一区二区 | 噜噜噜久久 | 国产又色又爽又黄 | 久久99国产精品一区 | 精品一区久久 | 污视频网址 | 少妇太爽了在线观看 | 性猛交xxxx乱大交3 | 2019毛片 | 村姑电影在线播放免费观看 | 青青草原伊人网 | 国产日本欧美在线观看 | 日韩在线视频免费看 | 中文字幕精品一区二区三区精品 | 在线观视频免费观看 | 四虎精品一区二区 | 亚洲深夜av| 狠狠干女人 | 99热2 | 精品人妻无码一区 | 国产欧美一区二区三区视频 | 国产精品久久国产 | 国产精品伦一区二区三级视频 | 91亚洲精品乱码久久久久久蜜桃 | 日韩福利视频网 | 波多野结衣免费在线视频 | 播播成人网 | 上原亚衣av一区二区三区 | 四虎永久在线精品免费一区二区 | 日韩成人黄色 | 中文字幕成人网 | 青草国产视频 | 大黑人交交护士xxxxhd | 99视频99| 久草视频2| 欧美a√在线 | 欧美无极品 | 日本a级片在线播放 | 日韩熟女一区二区 | 国产精品看片 | 国产久久精品 | 久久久午夜精品 | 中文字幕第100页 | 青草青在线 | 岳睡了我中文字幕日本 | 叶山小百合av一区二区 | 色撸撸在线 | 九九综合 | 视频一区二区三区在线 | 久久久久国产精品区片区无码 | 顶级黑人搡bbw搡bbbb搡 | 99精品视频在线免费观看 | 国产精品亚洲欧美 | 成人国产一区二区三区精品麻豆 | 欧美丰满熟妇xxxxx | 葵司免费一区二区三区四区五区 | 进去里视频在线观看 | 成人免费在线视频观看 | 欧美日韩激情视频在线观看 | 欧美999| 午夜肉体高潮免费毛片 | 女~淫辱の触手3d动漫 | 亚洲第一黄色网 | 精品第一页 |