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

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 閱讀(1783) 評論(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>
            最新中文字幕一区二区三区| 99re66热这里只有精品4| 欧美先锋影音| 欧美激情综合五月色丁香小说| 亚洲视频碰碰| 一区二区三区|亚洲午夜| 亚洲国产成人精品久久久国产成人一区| 99热这里只有成人精品国产| 欧美福利视频网站| 久久久久国产精品一区| 亚洲欧美日韩精品久久亚洲区| 亚洲愉拍自拍另类高清精品| 久久综合色播五月| 久热精品在线| 免费久久久一本精品久久区| 亚洲免费人成在线视频观看| 亚洲欧美影音先锋| 欧美亚洲三级| 米奇777超碰欧美日韩亚洲| 免费看精品久久片| 亚洲电影在线观看| 亚洲人成艺术| 亚洲一级黄色片| 午夜精品影院| 欧美r片在线| 欧美少妇一区| 国产日韩欧美亚洲一区| 一区二区亚洲精品| 99av国产精品欲麻豆| 亚洲一区免费看| 久久在线免费视频| 亚洲国产日韩欧美在线图片| 一区二区欧美日韩视频| 亚洲欧美在线网| 久久青青草原一区二区| 亚洲性视频网站| 久久久国产成人精品| 欧美高清自拍一区| 国产精品大全| 在线播放日韩欧美| 一区二区三区精品视频| 欧美一区二区三区四区高清| 欧美黄色网络| 欧美中文字幕| 欧美性片在线观看| 亚洲二区在线视频| 国产精品视频你懂的| 亚洲风情在线资源站| 亚洲一级二级| 美女图片一区二区| 中文日韩在线视频| 美玉足脚交一区二区三区图片| 欧美午夜片欧美片在线观看| 国产精品99免费看 | 9l国产精品久久久久麻豆| 亚洲制服丝袜在线| 亚洲欧美综合一区| 亚洲国产日韩欧美在线图片| 久久成人免费| 亚洲欧洲一区二区三区| 久久夜色精品国产欧美乱极品| 国内精品久久久久久久影视麻豆| 欧美资源在线观看| 欧美一区国产一区| 日韩午夜高潮| 亚洲欧美久久| 国产欧美一区二区视频| 久久国产精品一区二区三区四区| 亚洲欧美另类在线观看| 国产午夜精品视频| 久久精品成人| 久久人人看视频| 亚洲精品国产精品国产自| 亚洲第一中文字幕| 欧美日韩精品免费观看视一区二区| 99亚洲视频| 中文av一区二区| 国产在线精品成人一区二区三区 | 在线视频你懂得一区二区三区| 亚洲精品午夜| 国产美女高潮久久白浆| 久久综合五月| 欧美日韩精品一区二区三区| 欧美中文字幕在线播放| 美腿丝袜亚洲色图| 性欧美1819sex性高清| 久久一区亚洲| 午夜在线观看欧美| 免费国产一区二区| 亚洲欧美不卡| 免费在线欧美视频| 欧美专区在线| 欧美成人精品激情在线观看| 亚洲在线播放电影| 久久噜噜亚洲综合| 亚洲图片在区色| 久久精品成人欧美大片古装| 日韩午夜免费| 久久久精品一区| 亚洲欧洲99久久| 欧美美女福利视频| 欧美成人免费网站| 国产亚洲欧美一区二区三区| 夜夜嗨av一区二区三区中文字幕| 国模私拍一区二区三区| aa级大片欧美| 最新国产精品拍自在线播放| 午夜精品久久久久久99热软件| 亚洲另类在线视频| 久久精品九九| 欧美一区二区大片| 欧美性视频网站| 亚洲精品久久久一区二区三区| 国内激情久久| 午夜精品亚洲| 欧美在线一级视频| 国产精品在线看| 99在线热播精品免费| 亚洲人被黑人高潮完整版| 久久久国际精品| 久久性色av| 狠狠色狠狠色综合日日91app| 亚洲小少妇裸体bbw| 亚洲婷婷综合色高清在线| 欧美高清在线| 亚洲国产欧美一区| 亚洲福利av| 国产伦精品一区二区三区视频孕妇| 久久网站免费| 亚洲激情成人| 国产精品久久久亚洲一区 | 日韩一区二区福利| 亚洲第一级黄色片| 久久久999精品免费| 欧美在线视频在线播放完整版免费观看 | 久久精品亚洲精品| 久久精品国产精品| 国产精品男gay被猛男狂揉视频| 亚洲人午夜精品免费| 亚洲精品欧美在线| 欧美噜噜久久久xxx| 亚洲免费成人av| 亚洲综合精品| 国产日产欧产精品推荐色 | 韩国三级电影一区二区| 久久久精品日韩欧美| 欧美激情精品久久久| 亚洲免费不卡| 国产精品久久久久久av下载红粉| 亚洲综合国产| 欧美成人dvd在线视频| 一区二区三区视频在线看 | 亚洲视频在线观看网站| 国产精品日韩久久久| 欧美亚洲网站| 欧美国产日韩亚洲一区| 中国女人久久久| 国产亚洲午夜| 欧美成人网在线| 亚洲欧美成人| 欧美激情五月| 亚洲欧美日韩国产成人| 精品999久久久| 欧美精品少妇一区二区三区| 正在播放日韩| 免费看黄裸体一级大秀欧美| 亚洲精品视频在线观看免费| 国产精品手机在线| 欧美 亚欧 日韩视频在线| 艳女tv在线观看国产一区| 久久精品一区二区三区四区| 99精品欧美一区| 国内精品久久久久久 | 欧美三区视频| 久久久一区二区| 亚洲视频一区二区在线观看 | 久久精品亚洲一区二区| 久久久久久久欧美精品| 91久久夜色精品国产九色| 午夜视频在线观看一区| 亚洲激情网站免费观看| 国产日韩欧美精品一区| 欧美日本在线看| 久久久蜜臀国产一区二区| 亚洲一级二级| 亚洲国产专区| 毛片一区二区三区| 欧美亚洲视频一区二区| 日韩亚洲综合在线| 曰韩精品一区二区| 国产一区二区三区奇米久涩| 国产精品啊啊啊| 欧美日本不卡| 欧美电影免费| 麻豆久久精品| 狼狼综合久久久久综合网| 久久精品国产久精国产爱| 午夜欧美电影在线观看| 亚洲少妇最新在线视频| 亚洲靠逼com|