亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

cf 766 d Mahmoud and a Dictionary(帶權并查集)

2019-11-10 20:42:40
字體:
來源:轉載
供稿:網友

題意:

給一些單詞,它們可能是同義或者反義,給出一些關系定義,從前面的定義開始建立關系,如果有的關系定義和之前的沖突輸出NO,否則輸出YES。然后查詢q次單詞x和單詞y的關系。

解題思路:

很明顯就是帶權并查集,但是我不太會用,去網上找了食物鏈的代碼,改了下代碼,但是每改公式,強行把關系差為2和3的都當做反義關系,結果錯了。結束后去學習了下帶權并查集,然后直接把公式改了改就過了,發現其實當時xjb改也能過。

用一個數組rank[x]表示x和他的祖先直接的關系,0表示他們是同義,1表示他們是反義。

點于點之間的關系可以用向量來理解,為什么是向量我也不知道。比如說題目定義x與y的關系為x->y,那么x->fa[y]=x->y+y->fa[y]。也就是rank[x]=x與y的關系+rank[y];

#include <bits/stdc++.h>using namespace std;const int maxn=1e5+5;struct p{    char x[22];}a[maxn+5];int fat[maxn],ran[maxn], n;bool cmp(p a, p b){    if(strcmp(a.x,b.x)<0)return true;    else return false;}int fin(char key[]){    int l=1, r=n, mid=(1+n)/2;    while(l<=r)    {        mid=(l+r)/2;        if(strcmp(key, a[mid].x)>0)        {            l=mid+1;        }        else if(strcmp(key, a[mid].x)<0)        {            r=mid-1;        }        else return mid;//        PRintf("%d %s/n", mid, a[mid].x);    }    return 0;}void Init(int n)//初始化重要{    for(int i=1; i<=n; i++)    {        fat[i]=i;//初始化都是指向(看做)自己        ran[i]=0;//0同義 1反義    }    return;}int Find(int x)//找尋父節點+路徑壓縮{    if(x==fat[x])        return fat[x];    int y=Find(fat[x]);    ran[x]=(ran[x]+ran[fat[x]])%2;//遞歸后從祖先節點向后到每個孩子來計算    return fat[x]=y;//路徑壓縮}int main(){    int  m, q;    scanf("%d%d%d", &n, &m, &q);    int i;    for(i=1; i<=n; i++)scanf("%s", a[i].x);    sort(a+1, a+n+1, cmp);    Init(n);    int e, xx, yy;    char x[22], y[22];    for(i=0; i<m; i++)    {        scanf("%d%s%s", &e, x, y);        xx=fin(x);        yy=fin(y);        int x1=Find(xx);        int y1=Find(yy);//        printf("%d %d/n", x1, y1);        int ans=0;        if(x1==y1)//共父節點才能判斷出關系        {            if((ran[xx]-ran[yy]+2)%2==e-1)                printf("YES/n");            else printf("NO/n");        }        else printf("YES/n"), ans=1;        if(ans)        {        fat[x1]=y1;//連接兩父節點        ran[x1]=(-ran[xx]+e-1+ran[yy]+2)%2;        /*這里只對祖先x1賦值,可能有童鞋就疑問為什么xx沒有賦值,其實xx在路徑壓縮里會根據          它和祖先的關系賦值,所以這里不用對xx賦值*/        }    }    for(i=0; i<q; i++)    {        scanf("%s%s", x, y);        xx=fin(x);        yy=fin(y);        int x1=Find(xx);        int y1=Find(yy);        if(x1==y1)//共父節點才能判斷出關系        {            int ans=(ran[xx]-ran[yy]+2)%2+1;            printf("%d/n", ans);        }        else printf("3/n");    }    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
668精品在线视频| 欧美乱大交做爰xxxⅹ性3| 91社影院在线观看| 在线看日韩av| 欧美成年人视频网站欧美| 亚洲一区二区少妇| 成人写真视频福利网| 欧美三级免费观看| 亚洲专区中文字幕| 91色中文字幕| 97色在线观看免费视频| 国产在线观看不卡| 国产va免费精品高清在线观看| 在线视频日韩精品| 国产精品久久久久久久av电影| 91亚洲精品视频| 日韩精品免费在线观看| 亚洲成人999| 91精品国产99| 91在线播放国产| 色视频www在线播放国产成人| 亚洲免费视频一区二区| 日韩国产欧美精品在线| 亚洲一区亚洲二区| 欧美午夜激情小视频| 黄色成人av网| 欧美日韩在线免费| 欧洲美女免费图片一区| 精品福利樱桃av导航| 亚洲成人在线视频播放| 国内精品伊人久久| 欧美电影免费在线观看| 亚洲а∨天堂久久精品9966| 欧美激情一级欧美精品| 中文字幕亚洲欧美日韩在线不卡| 久久国内精品一国内精品| 国产精彩精品视频| 国产成人综合亚洲| 91老司机精品视频| 日韩av有码在线| 一本色道久久综合狠狠躁篇怎么玩| 中文字幕免费国产精品| 亚洲女同精品视频| 日韩精品在线视频美女| 福利二区91精品bt7086| 国产v综合v亚洲欧美久久| 国产成人精品优优av| 国产精品久久99久久| 国产精品jvid在线观看蜜臀| 欧美高清videos高潮hd| 91久久久久久久| 法国裸体一区二区| 国产精欧美一区二区三区| 91在线无精精品一区二区| 日韩亚洲在线观看| 久久久av免费| 国产精品高潮粉嫩av| 国产精品久久久久久久久影视| 这里只有精品丝袜| 久久久日本电影| 欧美亚洲免费电影| 国产亚洲综合久久| 久操成人在线视频| 国产成人一区二区三区电影| 久久这里有精品视频| 色综合色综合久久综合频道88| 欧美黑人xxxx| 日韩av成人在线观看| 久久亚洲欧美日韩精品专区| 欧美精品激情blacked18| 疯狂蹂躏欧美一区二区精品| 日韩欧美精品网址| 欧美精品九九久久| 国产午夜精品一区理论片飘花| 欧美亚洲成人精品| 午夜美女久久久久爽久久| 亚洲激情视频在线播放| 日韩av电影国产| 亚洲一区精品电影| 国产午夜精品全部视频在线播放| 九九精品视频在线观看| 亚洲精品一区中文| 欧洲日本亚洲国产区| 国产精品18久久久久久首页狼| 日韩免费在线免费观看| 国产精品一区二区久久国产| 欧美电影免费观看高清完整| 成人网在线免费观看| 久久这里只有精品99| 亚洲图片欧洲图片av| 欧美在线欧美在线| 国产精品久久久久9999| 亚洲欧洲日韩国产| 国产精品成av人在线视午夜片| 综合欧美国产视频二区| 亚洲电影av在线| 久久人人爽国产| 中文字幕亚洲专区| 亚洲九九九在线观看| 91美女高潮出水| 欧美精品国产精品日韩精品| 免费不卡在线观看av| 91精品久久久久久| 日韩精品中文字幕久久臀| 亚洲直播在线一区| 亚洲欧美日韩精品| 海角国产乱辈乱精品视频| 亚洲精品成人久久| 日韩精品久久久久久福利| 中文字幕亚洲一区二区三区五十路| 欧美精品久久久久a| 97色在线视频观看| 韩国一区二区电影| 日韩中文字幕在线视频| 最新国产精品亚洲| 亚洲free性xxxx护士白浆| 日韩成人小视频| 亚洲一区二区在线| 国产一区二区三区四区福利| 久久精品国产久精国产思思| 另类天堂视频在线观看| 国产69精品久久久久9| 亚洲第一二三四五区| 国产成人啪精品视频免费网| 亚洲国产精品热久久| 热久久99这里有精品| 亚洲精品99久久久久| 亚洲国产欧美日韩精品| 国产精品欧美日韩一区二区| 日韩大片在线观看视频| 精品国产一区久久久| 久久99国产精品自在自在app| 亚洲人成在线电影| 国产精品久久久久久久av电影| 日韩成人在线电影网| 国产亚洲精品一区二555| www国产91| 一区二区在线免费视频| 亚洲美女喷白浆| 精品久久久久久中文字幕| 亚洲一区av在线播放| 日本久久久久亚洲中字幕| 伦伦影院午夜日韩欧美限制| 亚洲电影av在线| 亚洲第五色综合网| 欧美日韩福利电影| 国产玖玖精品视频| 亚洲xxxxx性| 亚洲a在线观看| 中文字幕国产日韩| 午夜精品久久久久久久久久久久| 国产精品黄色影片导航在线观看| 国产精品第10页| 久久97久久97精品免视看| 国产精品91在线观看| 92福利视频午夜1000合集在线观看| 国产精品免费小视频| 国产精品成熟老女人| 欧美日韩高清区| 日韩欧美在线免费| 欧美激情一区二区三区成人| 亚洲精品女av网站| 国产精品扒开腿做爽爽爽男男| 久久久国产精品x99av|