多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > BZOJ 1455 羅馬游戲 可并堆

BZOJ 1455 羅馬游戲 可并堆

來源:程序員人生   發布時間:2015-03-17 08:30:43 閱讀次數:3080次

題目大意

給出n個人的權值,每次要求將兩隊人合成1堆,或殺掉1堆人中的權值最小的那個人。問每次刪除的人的權值是多少。

思路

就是可并堆,沒了。我挑最簡單的隨機堆寫的。

CODE

#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define MAX 1000010 using namespace std; struct Heap{ Heap *son[2]; int val; Heap(int _):val(_) { son[0] = son[1] = NULL; } Heap() {} }*heap[MAX],mempool[MAX],*C = mempool + 1; Heap *Merge(Heap *x,Heap *y) { if(x == NULL) return y; if(y == NULL) return x; if(x->val > y->val) swap(x,y); bool k = rand()&1; x->son[k] = Merge(x->son[k],y); return x; } int points,asks; int src[MAX]; bool killed[MAX]; char s[10]; int father[MAX]; int Find(int x) { if(father[x] == x) return x; return father[x] = Find(father[x]); } int main() { srand(19970806); cin >> points; for(int i = 1; i <= points; ++i) father[i] = i; for(int x,i = 1; i <= points; ++i) { scanf("%d",&x); heap[i] = new (C++)Heap(x); } cin >> asks; for(int x,y,i = 1; i <= asks; ++i) { scanf("%s",s); if(s[0] == 'M') { scanf("%d%d",&x,&y); if(killed[x] || killed[y]) continue; int fx = Find(x),fy = Find(y); if(fx == fy) continue; father[fy] = fx; heap[fx] = Merge(heap[fx],heap[fy]); } else { scanf("%d",&x); if(killed[x]) { puts("0"); continue; } int fx = Find(x); printf("%d ",heap[fx]->val); killed[heap[fx] - mempool] = true; heap[fx] = Merge(heap[fx]->son[0],heap[fx]->son[1]); } } return 0; }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕一区久久久久 | 免费xxxxx大片在线观看影视 | 精品亚洲综合在线第一区 | 久久久久在线视频 | 国产成人青草视频 | 成人免播放器午夜视频 | 在线免费观看一级毛片 | 日本怡春院欧美一区二区三区 | 国产精品视频白浆免费视频 | 2022亚洲在线免费视频 | 久久三级毛片 | 福利在线免费 | 亚欧美色| 欧美日韩精品国产一区二区 | 久久极品 | 1区2区3区 | 日韩福利在线 | 色费女人18毛片a级视频在线 | 欧美伦乱 | 精品国产成人综合久久小说 | 另类五月 | 黄色免费网站在线看 | 欧洲一级毛片 | 伊人干综合 | 最近中文字幕在线 | 欧美黄色片一级 | 婷婷在线五月 | 国产成人精品无缓存在线播放 | 欧美高清性xxxxhdvideosex | 成人毛片免费视频播放 | 免费看成人国产一区二区三区 | 国产精品久久久亚洲 | 国产成人亚洲综合91精品555 | 亚洲人成网站在线播放观看 | 免费看h视频 | 午夜欧美在线 | www国产永久免费视频看看 | 欧美人与动性视频在线观 | 性xxxxx免费视频播放 | 亚洲人成综合网站在线 | 日韩 欧美 综合 |