青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

糯米

TI DaVinci, gstreamer, ffmpeg
隨筆 - 167, 文章 - 0, 評(píng)論 - 47, 引用 - 0
數(shù)據(jù)加載中……

POJ 1733 Parity game 牛題 -> 并查集+hash

思路:

這題是道好題!
假比確定了 [2, 4]、[5, 6]、[7, 8] 的奇偶性
[4, 5] 的奇偶性無法得知
[2, 6] 的奇偶性是知道的
所以只有詢問的區(qū)間符合以下要求:
1. 頭部和某個(gè)已知區(qū)間的頭部重合
2. 尾部和某個(gè)已知區(qū)間的尾部重合
3. 區(qū)間內(nèi)每一段都是已知的
才能得出結(jié)論

我只想到這一步,然后用鏈表寫了一遍,TLE 了。上網(wǎng)搜解題報(bào)告,看到“并查集”三字,恍然大悟。嗎的太牛逼了。

我們把首尾相接的多個(gè)已知區(qū)間歸為一類。
將這多個(gè)區(qū)間的尾部的點(diǎn)歸在同一個(gè)集合中。
它們的父親就是最左邊區(qū)間頭部。
它們的權(quán)值就是從左邊區(qū)間頭部的到自己的這段區(qū)間的奇偶性。

插入?yún)^(qū)間 [i, j] 的時(shí)候,首先查找 i, j 對(duì)應(yīng)的父親。就是 find 操作。
如果它們的父親相同,則表明它們處在同一個(gè)段的多個(gè)已知區(qū)間中。
那么 i, j 的權(quán)值相減,就很容易得出 [i, j] 的奇偶性了。
如果它們的父親不同,則需要將 i, j 分別對(duì)應(yīng)的區(qū)間段關(guān)聯(lián)起來。也就是 union 操作。
這時(shí)候要注意判斷 i, j 父親的位置先后。因?yàn)檫@個(gè) WA 了一次。

由于節(jié)點(diǎn)的位置分得很散,用 hash 存放。

#include <stdio.h>

#define HASH_SIZE (1 << 18)
#define NODES_NR 65536

struct node {
    
struct node *root, *next;
    
int idx, val;
}
;

struct node *hash[HASH_SIZE], nodes[NODES_NR];
int nodes_cnt;

inline 
void find(struct node *t)
{
    
static struct node *stk[NODES_NR];
    
int i;

    
for (i = 0; t->root != t; t = t->root)
        stk[i
++= t;
    
for (i--; i >= 0; i--{
        stk[i]
->val += stk[i]->root->val;
        stk[i]
->root = t;
    }

}


inline 
struct node *insert(int idx)
{
    
int h;
    
struct node *t;

    h 
= idx & (HASH_SIZE - 1);
    
for (t = hash[h]; t; t = t->next) {
        
if (t->idx == idx)
            
break;
    }

    
if (!t) {
        t 
= &nodes[nodes_cnt++];
        t
->root = t;
        t
->idx = idx;
        t
->next = hash[h];
        hash[h] 
= t;
    }

    
return t;
}


inline 
int solve(int start, int end, int val)
{
    
struct node *a, *b;

    a 
= insert(start);
    b 
= insert(end);
    find(a);
    find(b);

    
if (a->root == b->root)
        
return ((b->val - a->val) & 1== val;

    val 
-= b->val;
    val 
+= a->val;
    a 
= a->root;
    b 
= b->root;
    
if (a->idx < b->idx) {
        b
->root = a;
        b
->val = val;
    }
 else {
        a
->root = b;
        a
->val = -val;
    }


    
return 1;
}


int main()
{
    
int n, i, x, a, b;
    
char str[16];

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d%d"&n, &x);
    
for (i = 0; i < x; i++{
        scanf(
"%d%d%s"&a, &b, str);
        
if (!solve(a, b + 1, str[0== 'o'))
            
break;
    }

    printf(
"%d\n", i);

    
return 0;
}



posted on 2010-04-22 21:38 糯米 閱讀(890) 評(píng)論(0)  編輯 收藏 引用 所屬分類: POJ

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美高清视频| 一区二区三区久久网| 一区二区三区日韩欧美精品| 狠狠久久婷婷| 亚洲欧美中文日韩在线| 一区二区欧美日韩| 欧美成人精品三级在线观看 | 欧美在线啊v一区| 欧美激情综合色| 欧美成人精品在线| 亚洲第一福利社区| 欧美一区二区三区免费在线看| 亚洲香蕉视频| 欧美日韩在线一区二区| 亚洲人成人一区二区在线观看| 国产字幕视频一区二区| 午夜精品久久久久久久男人的天堂 | 亚洲欧美精品suv| 亚洲一区二区三区在线看| 欧美精品日韩综合在线| 欧美成人午夜影院| 亚洲国产岛国毛片在线| 久久婷婷久久| 久久亚洲一区二区三区四区| 国产欧美一区二区三区沐欲| 亚洲伊人一本大道中文字幕| 亚洲欧洲av一区二区三区久久| 欧美偷拍一区二区| 亚洲狼人综合| 亚洲一区中文字幕在线观看| 欧美日韩欧美一区二区| 亚洲裸体视频| 亚洲一区成人| 国产精品久久久久免费a∨| 亚洲午夜精品福利| 久久xxxx精品视频| 国产一区欧美日韩| 久久欧美肥婆一二区| 欧美成人精品一区二区三区| 亚洲精品久久久久久久久久久久久| 欧美国产在线视频| 夜夜嗨av一区二区三区四区| 亚洲欧美国内爽妇网| 国产一二三精品| 久久久在线视频| 亚洲欧洲在线观看| 亚洲午夜久久久久久久久电影院 | 亚洲精品在线视频| 欧美揉bbbbb揉bbbbb| 亚洲欧美日韩精品久久| 狼人社综合社区| 日韩亚洲不卡在线| 国产九色精品成人porny| 久久精品在线免费观看| 亚洲国产一区二区三区a毛片| 亚洲一区二区三区视频播放| 国产老女人精品毛片久久| 久久久久久久一区二区| 亚洲毛片在线观看| 久久精品在线免费观看| 99精品国产在热久久| 国产喷白浆一区二区三区| 免费国产自线拍一欧美视频| 亚洲视频免费看| 麻豆国产精品va在线观看不卡 | 久久av一区二区三区亚洲| 亚洲国产一区二区三区青草影视| 欧美日韩国产一中文字不卡| 欧美在线网址| 亚洲精品美女91| 老司机午夜精品视频| 亚洲一区二区av电影| 亚洲成人在线网| 国产精品视频免费观看| 欧美激情一区二区三区| 久久精品一区二区三区四区 | 国产一区二区精品久久91| 欧美极品aⅴ影院| 亚洲免费一区二区| 亚洲精品在线一区二区| 美女主播精品视频一二三四| 亚洲欧美国产精品桃花| 亚洲精品你懂的| 一区二区三区亚洲| 国产伦精品免费视频| 欧美日韩xxxxx| 蜜桃av噜噜一区| 久久久久久久久久久久久久一区| 亚洲一区二区免费| 一本综合久久| 亚洲精品久久在线| 亚洲激情第一区| 欧美电影免费观看大全| 久久尤物电影视频在线观看| 欧美一区激情视频在线观看| 在线中文字幕一区| 99在线精品视频在线观看| 伊人久久亚洲影院| 好吊成人免视频| 国产一区香蕉久久| 国产一区二区三区精品欧美日韩一区二区三区 | 久久精品国产精品亚洲| 亚洲欧美成人一区二区在线电影| 亚洲精品小视频在线观看| 亚洲第一页自拍| 亚洲第一页在线| 亚洲国产精品成人一区二区| 精品动漫3d一区二区三区| 国产亚洲亚洲| 红桃视频一区| 亚洲第一天堂av| 亚洲国产导航| 日韩亚洲国产精品| 国产精品99久久99久久久二8| 日韩亚洲精品电影| 中文成人激情娱乐网| 亚洲视频综合| 欧美亚洲三区| 久久久久久久综合日本| 久久综合中文| 亚洲国产精品精华液2区45| 亚洲激情六月丁香| 9久草视频在线视频精品| 亚洲视频日本| 久久www成人_看片免费不卡| 久久―日本道色综合久久| 蜜臀91精品一区二区三区| 欧美日韩免费看| 国产精品亚洲美女av网站| 国产自产精品| 亚洲精品一二三区| 亚洲在线观看视频网站| 久久国产手机看片| 欧美激情视频免费观看| 日韩亚洲欧美综合| 亚洲欧美中文在线视频| 久久综合福利| 国产精品爱久久久久久久| 国模吧视频一区| 一区二区高清| 久久久欧美精品| 亚洲肉体裸体xxxx137| 亚洲在线免费观看| 男同欧美伦乱| 国产模特精品视频久久久久| 亚洲国产婷婷香蕉久久久久久99| 一区二区三区av| 久久久久久尹人网香蕉| 亚洲国产精品一区在线观看不卡 | 亚洲欧洲视频| 欧美亚洲一区二区在线| 欧美高清在线精品一区| 国产毛片久久| avtt综合网| 老司机一区二区| 亚洲网站视频| 欧美高清在线一区二区| 国产视频欧美视频| 亚洲视频在线一区| 欧美电影免费观看大全| 亚洲女人av| 欧美日韩国产在线播放| 激情综合久久| 欧美在线1区| 99热这里只有精品8| 另类图片国产| 国产一区二区日韩精品欧美精品| 亚洲蜜桃精久久久久久久| 久久久久综合网| 亚洲一区免费观看| 欧美日韩一区二区在线视频| 在线观看视频一区二区| 欧美一区二区三区在线免费观看| 亚洲人成精品久久久久| 另类尿喷潮videofree| 激情久久婷婷| 久久久.com| 午夜在线a亚洲v天堂网2018| 欧美亚洲成人精品| 亚洲视频1区| 亚洲美女在线看| 欧美极品一区| av成人老司机| 亚洲三级免费| 欧美精品国产一区| 日韩亚洲欧美在线观看| 亚洲国产成人精品视频| 美日韩在线观看| 亚洲人成绝费网站色www| 欧美不卡福利| 男人插女人欧美| 日韩视频一区二区三区| 亚洲国产色一区| 欧美激情2020午夜免费观看| 亚洲日韩欧美视频一区| 亚洲激情在线观看| 欧美日韩国产一区二区| 亚洲图片欧洲图片日韩av| 夜夜嗨av一区二区三区| 国产精品毛片高清在线完整版|