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

糯米

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] 的奇偶性無(wú)法得知
[2, 6] 的奇偶性是知道的
所以只有詢問(wèn)的區(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)起來(lái)。也就是 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 糯米 閱讀(889) 評(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>
            久久久久www| 亚洲精品一区二区三区在线观看| 亚洲人成7777| 久久久久中文| 激情欧美国产欧美| 国产精品丝袜久久久久久app| 久热这里只精品99re8久| 欧美一级欧美一级在线播放| 中文亚洲视频在线| 亚洲视频第一页| 日韩天堂av| 亚洲精选中文字幕| 久久精品视频播放| 久久激情综合网| 久久精品人人做人人爽| 久久久噜噜噜久久| 亚洲在线一区| 久久福利毛片| 久久欧美肥婆一二区| 久久精品中文| 久久亚洲精品伦理| 一区二区三区四区蜜桃| 夜夜嗨av一区二区三区四季av| 亚洲欧洲精品天堂一级| 日韩亚洲欧美在线观看| 99在线精品免费视频九九视| 一区二区久久久久| 亚洲综合999| 亚洲影音先锋| 欧美一区中文字幕| 亚洲在线观看| 久久蜜桃精品| 亚洲黄色视屏| 亚洲专区一区二区三区| 久久久久久久久久久久久久一区| 欧美亚洲综合网| 欧美高清不卡| 国产精品裸体一区二区三区| 一区视频在线| 亚洲天堂成人| 久久亚洲综合色一区二区三区| 亚洲福利精品| 亚洲欧美成人一区二区在线电影| 久久久夜色精品亚洲| 欧美日韩在线不卡一区| 韩国在线视频一区| 国产精品99久久久久久宅男| 国产欧美综合一区二区三区| 欧美激情一区二区三区在线 | 亚洲成人资源| 夜夜嗨一区二区三区| 久久激情中文| 亚洲精品久久久久久久久久久| 亚洲综合视频在线| 欧美成人日韩| 欧美日韩国产成人在线| 国产性色一区二区| 亚洲视频欧洲视频| 欧美福利视频在线| 午夜精品婷婷| 欧美日韩国产成人在线91| 狠狠综合久久| 欧美亚洲在线| 亚洲成人在线免费| 亚洲高清精品中出| 亚洲在线一区| 亚洲人永久免费| 噜噜爱69成人精品| 国产一区二区无遮挡| 久久精品综合| 久久经典综合| 91久久夜色精品国产九色| 亚洲黄色在线观看| 国产精品草莓在线免费观看| 亚洲男女自偷自拍| 午夜一级久久| 一区二区三区在线免费视频| 欧美高清在线视频| 欧美日韩精品在线| 亚洲资源av| 欧美一区二区三区播放老司机| 禁久久精品乱码| 亚洲国产一区视频| 国产精品伦子伦免费视频| 久久漫画官网| 欧美日韩国产高清| 久久精品官网| 麻豆精品一区二区av白丝在线| 日韩亚洲欧美精品| 欧美专区日韩专区| 99综合电影在线视频| 亚洲免费在线观看视频| 伊甸园精品99久久久久久| 亚洲三级视频在线观看| 国产精品视频精品视频| 欧美激情精品久久久久久大尺度 | 欧美电影免费| 黄色成人在线免费| 欧美体内she精视频在线观看| 久久中文欧美| 国产精品国产精品| 裸体歌舞表演一区二区| 欧美午夜视频| 日韩视频免费在线观看| 一本久久青青| 欧美激情一区| 亚洲国产精品免费| 一区在线观看视频| 久久精品二区| 久久免费视频在线观看| 国产一区欧美| 老司机一区二区三区| 欧美大片网址| 一区二区三区四区五区精品| 欧美性大战久久久久久久蜜臀| 日韩一级大片在线| 欧美一级艳片视频免费观看| 国产视频欧美视频| 久久久久久黄| 亚洲国产一区二区精品专区| 夜夜躁日日躁狠狠久久88av| 国产精品麻豆欧美日韩ww | 国产精品美腿一区在线看| 日韩亚洲国产精品| 亚洲一区国产视频| 国模私拍视频一区| 欧美另类极品videosbest最新版本| 一区二区欧美亚洲| 久久久欧美一区二区| 99re热精品| 国产综合久久久久久| 欧美激情视频一区二区三区在线播放 | 欧美精品www在线观看| 亚洲影院高清在线| 快she精品国产999| 一区二区三区视频在线看 | 欧美高清视频一二三区| 在线综合亚洲欧美在线视频| 国产一区二区精品在线观看| 欧美激情一区二区久久久| 欧美一级大片在线免费观看| 亚洲国产婷婷香蕉久久久久久| 欧美激情视频在线播放 | 99在线精品免费视频九九视| 亚洲激情欧美| 久久久久久噜噜噜久久久精品| 久久深夜福利免费观看| 国产精品入口夜色视频大尺度| 亚洲私人影吧| 久久久精品视频成人| 伊人久久大香线| 猛男gaygay欧美视频| 亚洲国内自拍| 在线综合+亚洲+欧美中文字幕| 欧美视频不卡中文| 亚洲欧美久久久久一区二区三区| 久久爱www久久做| 国内在线观看一区二区三区| 久久久久久穴| 亚洲日韩欧美视频一区| 午夜精品久久久久久久99樱桃| 国产一区二区三区久久久久久久久| 亚洲精品一区二区三区在线观看 | 亚洲欧洲在线一区| 一区二区三区四区五区精品视频| 欧美亚日韩国产aⅴ精品中极品| 午夜电影亚洲| 欧美激情中文字幕一区二区| 999亚洲国产精| 国产精品亚洲美女av网站| 久久综合激情| 99视频超级精品| 久久一日本道色综合久久| 日韩视频在线观看一区二区| 国产精品中文在线| 免费在线成人av| 新狼窝色av性久久久久久| 亚洲激情小视频| 久久久免费精品| 亚洲在线视频网站| 亚洲韩日在线| 国产综合色产| 国产精品黄视频| 欧美不卡视频一区| 亚洲欧洲在线一区| 老牛嫩草一区二区三区日本| 亚洲精品一区二区三区不| 国产精品制服诱惑| 欧美视频中文一区二区三区在线观看| 久久九九国产精品| 亚洲调教视频在线观看| 欧美激情亚洲视频| 欧美在线视频一区二区三区| 一本色道88久久加勒比精品 | 欧美日韩精品系列| 久久女同精品一区二区| 亚洲欧美成人网| 日韩亚洲欧美成人一区| 欧美成人一区在线| 久久亚洲视频|