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

oyjpArt ACM/ICPC算法程序設計空間

// I am new in programming, welcome to my blog
I am oyjpart(alpc12, 四城)
posts - 224, comments - 694, trackbacks - 0, articles - 6

PKU1733 URAL1003 Parity game

Posted on 2007-06-25 22:09 oyjpart 閱讀(1791) 評論(3)  編輯 收藏 引用 所屬分類: ACM/ICPC或其他比賽

Parity game
Time Limit:1000MS  Memory Limit:65536K
Total Submit:748 Accepted:310

Description
Now and then you play the following game with your friend. Your friend writes down a sequence consisting of zeroes and ones. You choose a continuous subsequence (for example the subsequence from the third to the fifth digit inclusively) and ask him, whether this subsequence contains even or odd number of ones. Your friend answers your question and you can ask him about another subsequence and so on. Your task is to guess the entire sequence of numbers.

You suspect some of your friend's answers may not be correct and you want to convict him of falsehood. Thus you have decided to write a program to help you in this matter. The program will receive a series of your questions together with the answers you have received from your friend. The aim of this program is to find the first answer which is provably wrong, i.e. that there exists a sequence satisfying answers to all the previous questions, but no such sequence satisfies this answer.

Input
The first line of input contains one number, which is the length of the sequence of zeroes and ones. This length is less or equal to 1000000000. In the second line, there is one positive integer which is the number of questions asked and answers to them. The number of questions and answers is less or equal to 5000. The remaining lines specify questions and answers. Each line contains one question and the answer to this question: two integers (the position of the first and last digit in the chosen subsequence) and one word which is either `even' or `odd' (the answer, i.e. the parity of the number of ones in the chosen subsequence, where `even' means an even number of ones and `odd' means an odd number).

Output
There is only one line in output containing one integer X. Number X says that there exists a sequence of zeroes and ones satisfying first X parity conditions, but there exists none satisfying X+1 conditions. If there exists a sequence of zeroes and ones satisfying all the given conditions, then number X should be the number of all the questions asked.

Sample Input

10
5
1 2 even
3 4 odd
5 6 even
1 6 even
7 10 odd

 

Sample Output

3

 

Source
CEOI 1999

Step 1:   由于端點數目遠遠小于數據范圍 給于數據范圍離散化
Step 2:將區間問題轉化成單點 sum[a,b] = sum[0,b] - sum[0, a-1];
Step 3:   構造并查集,設置一個屬性prt代表和父結點的XOR值。即:
如果父結點為偶 prt = true 則本節點為奇
同理可推知其他情況 構建并查集的目的是為了是查詢能夠在有聯系的兩個節點之間通過其他結點迅速判斷奇偶性
對于一個詢問(l, r, p):若l-1r是屬于同一個集合,則檢查l-1r相對于根o的奇偶性差異P[l -1, o]P[r, o]。看這兩個差異值的差異是不是就是p,即P[l-1, o] xor P[r, o]是不是等于p,不是則矛盾。若l-1r是不屬于同一個集合,則將l-1r所在樹的根節點合并起來,這兩個根結點間奇偶性差異為P[l-1,o] xor P[r, o] xor p
有構建的方式可以看出 這個并查集是可以路徑壓縮的

 1
 2
 3
 4//pku1733 Parity game
 5//by oyjpArt
 6#include <map>
 7#include <iostream>
 8#include <string>
 9using namespace std;
10const int N  = 5010;
11int x[N], y[N];
12bool odd[N];
13int p[2 * N];
14bool prt[2 * N];
15int Root(int x, bool & e)
16{
17int r = x, t = x;
18bool res = prt[x];
19while(p[r] != r)
20{
21= p[r];
22res = res ^ prt[r];
23}
24= res;
25return r;
26}
27void Union(int a, int b, bool e)
28{
29p[a] = b;
30prt[a] = e;
31}
32bool chk(int idx)
33{
34int a = x[idx], b = y[idx];
35bool e = odd[idx], ea, eb;
36int ra = Root(a, ea), rb = Root(b, eb);
37if(ra == rb)
38{
39if( (ea ^ eb) != e) return false;
40}
41else
42{
43Union(ra, rb, (ea ^ eb ^ e) );
44}
45return true;
46}
47int main()
48{
49//    freopen("t.in""r", stdin);
50map<intint> m;
51int l, i, ncmd, a, b, idx;
52string s;
53cin >> l >> ncmd;
54for(i = 0, idx = 0; i < ncmd; ++i)
55{
56cin >> a >> b >> s;
57if(a > b) swap(a, b);
58--a;
59if(a < 0)
60while(1) printf("1");
61if(!m.count(a)) m[a] = idx++;
62if(!m.count(b)) m[b] = idx++;
63x[i] = m[a]; y[i] = m[b];
64odd[i] = s[0== 'o';
65}
66for(i = 0; i < idx; ++i) { p[i] = i; prt[i] = false; }
67for(i = 0; i < ncmd; ++i) {
68if(!chk(i))
69break;
70}
71printf("%d\n", i);
72return 0;
73}
74
75
76
77

Feedback

# re: PKU1733 URAL1003 Parity game   回復  更多評論   

2007-07-04 16:37 by acm
Have you got AC?
It is not right for my test case.

# re: PKU1733 URAL1003 Parity game   回復  更多評論   

2007-07-04 17:05 by oyjpart
Yes :)
2283654 alpc12 1733 Accepted 416K 514MS G++ 1412B 2007-06-23 23:01:56

what's your test case?

# re: PKU1733 URAL1003 Parity game   回復  更多評論   

2007-07-05 14:33 by acm
我從網上下載的test case,它的答案不對,呵呵

我的程序在POJ能PASS,在timus總是WA。。。
最后那行-1我也處理了,真怪


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一区二区三区四区五区视频| 亚洲资源av| 久久免费视频在线观看| 亚洲男人第一网站| 国产日韩欧美在线播放不卡| 欧美中文字幕不卡| 欧美中文在线观看国产| 伊甸园精品99久久久久久| 久久免费精品日本久久中文字幕| 香蕉精品999视频一区二区 | 亚洲国产精品一区在线观看不卡| 久久婷婷综合激情| 亚洲区一区二区三区| 亚洲六月丁香色婷婷综合久久| 欧美三级午夜理伦三级中视频| 欧美亚洲一区二区三区| 欧美在线影院| 99re66热这里只有精品3直播 | 亚洲综合色婷婷| 欧美一区二区三区喷汁尤物| 亚洲高清免费视频| 99精品99| 在线观看亚洲精品视频| 亚洲人永久免费| 国产精品丝袜白浆摸在线| 久久综合九色综合网站| 欧美日韩国产成人在线观看| 久久久久国产精品麻豆ai换脸| 久久综合亚洲社区| 亚洲一区www| 久久久午夜电影| 亚洲系列中文字幕| 久久亚洲一区| 午夜宅男欧美| 欧美精品色一区二区三区| 久久久久这里只有精品| 欧美日韩国产va另类| 久久综合久久久| 国产精品视频yy9099| 亚洲电影免费在线观看| 国产一区二区三区在线观看精品| 亚洲精品女人| 国产一区白浆| 一区二区精品| 亚洲美女91| 久久一区欧美| 欧美在线播放一区| 欧美午夜免费| 亚洲精品一区二区三区婷婷月 | 国产精品一区二区久久久久| 亚洲第一伊人| 伊伊综合在线| 久久av资源网站| 欧美制服第一页| 国产精品爱啪在线线免费观看| 亚洲成人在线视频播放| 国产原创一区二区| 午夜精品婷婷| 午夜亚洲福利| 国产精品久久久久久久app| 亚洲国产精品成人综合色在线婷婷 | 亚洲激情网站| 亚洲第一精品影视| 久久久久99| 久久亚洲精品视频| 狠狠综合久久| 久久精品中文字幕一区二区三区| 欧美在线播放高清精品| 国产精品一区三区| 欧美亚洲在线播放| 久久天堂成人| 激情婷婷欧美| 老司机67194精品线观看| 免费视频一区| 亚洲精品综合| 欧美精品一线| 一区二区三区久久| 香蕉久久夜色精品国产使用方法| 国产精品亚洲аv天堂网| 亚洲一线二线三线久久久| 欧美一区二区三区精品| 国产一区二区在线观看免费| 久久黄色网页| 欧美二区视频| 一区二区三区三区在线| 国产精品久久久久久久久久免费 | 久久婷婷色综合| 黄色成人在线| 欧美14一18处毛片| 一区二区三区欧美激情| 久久精品观看| 亚洲经典三级| 国产精品青草久久| 久久精品视频在线播放| 亚洲国产精品一区二区www| 亚洲视频一区二区免费在线观看| 欧美无砖砖区免费| 久久精品道一区二区三区| 亚洲国产精品精华液网站| 亚洲午夜在线观看| 好看的日韩av电影| 欧美激情麻豆| 欧美一区二区精品久久911| 欧美激情成人在线| 午夜精品久久久久久99热| 影音先锋日韩资源| 欧美偷拍一区二区| 久久九九久精品国产免费直播| 亚洲激情网站免费观看| 久久av二区| a4yy欧美一区二区三区| 国产一区二区三区久久悠悠色av | 国产欧美日韩一区二区三区| 久热精品视频| 亚洲欧美日韩国产一区二区| 亚洲大胆女人| 欧美一区午夜精品| 99re这里只有精品6| 国模叶桐国产精品一区| 国产精品99免费看| 欧美成人精品一区| 久久精品视频免费播放| 亚洲一区一卡| 亚洲精品影视| 亚洲电影第1页| 久久在线免费观看视频| 午夜精品在线看| 亚洲天堂黄色| 亚洲精品在线电影| 在线观看av不卡| 国产专区综合网| 国产欧美韩日| 国产精品久久久久久久午夜片| 欧美精品久久99| 乱人伦精品视频在线观看| 欧美自拍偷拍| 亚洲欧美制服另类日韩| 中日韩视频在线观看| 亚洲靠逼com| 亚洲精品视频二区| 亚洲日本无吗高清不卡| 欧美激情亚洲综合一区| 欧美成年人视频网站欧美| 久久久久久综合| 欧美一级在线播放| 午夜精品福利一区二区三区av| 亚洲愉拍自拍另类高清精品| 亚洲天堂视频在线观看| 亚洲在线黄色| 午夜精品久久久久久久白皮肤 | 亚洲视频欧美视频| 一本久道久久久| 夜夜嗨av一区二区三区网站四季av| 亚洲人www| 99精品热6080yy久久| 一区二区三区导航| 亚洲视频免费在线观看| 亚洲综合精品四区| 欧美伊人久久久久久久久影院| 午夜一区在线| 久久青青草综合| 欧美成人一区二区三区在线观看 | 午夜精品国产更新| 欧美伊人影院| 欧美成人一二三| 亚洲日本一区二区| 夜色激情一区二区| 香蕉av777xxx色综合一区| 久久国产精品久久久| 另类激情亚洲| 欧美日韩国内自拍| 国产一区二区三区高清| 最新国产の精品合集bt伙计| 9i看片成人免费高清| 先锋a资源在线看亚洲| 久久综合电影一区| 亚洲乱码一区二区| 先锋资源久久| 欧美精品在线播放| 国产亚洲欧美日韩日本| 亚洲国产精品国自产拍av秋霞| 一本一本a久久| 久久精品国产免费看久久精品| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲国产成人av好男人在线观看| 一本色道久久综合亚洲精品按摩 | 亚洲综合欧美日韩| 久久影音先锋| 国产精品嫩草影院av蜜臀| 亚洲国产高清高潮精品美女| 亚洲无限乱码一二三四麻| 免费观看亚洲视频大全| 99pao成人国产永久免费视频| 欧美在线观看www| 欧美日韩一区二区三区在线观看免 | 欧美一区二区三区视频在线| 欧美成人精品1314www| 国产欧美视频一区二区三区| 日韩视频精品| 女同性一区二区三区人了人一|