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

oyjpArt ACM/ICPC算法程序設(shè)計空間

// 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 閱讀(1784) 評論(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:   由于端點數(shù)目遠(yuǎn)遠(yuǎn)小于數(shù)據(jù)范圍 給于數(shù)據(jù)范圍離散化
Step 2:將區(qū)間問題轉(zhuǎn)化成單點 sum[a,b] = sum[0,b] - sum[0, a-1];
Step 3:   構(gòu)造并查集,設(shè)置一個屬性prt代表和父結(jié)點的XOR值。即:
如果父結(jié)點為偶 prt = true 則本節(jié)點為奇
同理可推知其他情況 構(gòu)建并查集的目的是為了是查詢能夠在有聯(lián)系的兩個節(jié)點之間通過其他結(jié)點迅速判斷奇偶性
對于一個詢問(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所在樹的根節(jié)點合并起來,這兩個根結(jié)點間奇偶性差異為P[l-1,o] xor P[r, o] xor p
有構(gòu)建的方式可以看出 這個并查集是可以路徑壓縮的

 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   回復(fù)  更多評論   

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

# re: PKU1733 URAL1003 Parity game   回復(fù)  更多評論   

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   回復(fù)  更多評論   

2007-07-05 14:33 by acm
我從網(wǎng)上下載的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>
            久久综合久久久久88| 久久精品人人做人人爽| 亚洲一本视频| 99一区二区| 蜜桃久久av| 欧美福利视频在线| 亚洲电影第三页| 久久久噜噜噜久久人人看| 欧美尤物巨大精品爽| 欧美成人免费在线| 国产一区二区三区在线播放免费观看| 亚洲一级电影| 午夜在线精品偷拍| 国产精品一区免费在线观看| 亚洲在线观看视频网站| 欧美亚洲一级片| 国产三级精品三级| 久久精品麻豆| 欧美顶级大胆免费视频| 91久久国产综合久久91精品网站| 快射av在线播放一区| 亚洲大片一区二区三区| 在线播放亚洲| 午夜精品久久久99热福利| 国产精品免费久久久久久| 亚洲欧美视频在线| 玖玖玖免费嫩草在线影院一区| 在线观看日韩国产| 欧美乱大交xxxxx| 亚洲一区二区三区精品视频| 久久国产精品色婷婷| 亚洲福利在线视频| 欧美日韩理论| 香蕉久久一区二区不卡无毒影院| 久久青草欧美一区二区三区| 最新成人av在线| 国产精品久久久久国产精品日日| 欧美一区二区私人影院日本| 亚洲电影在线看| 亚洲综合色激情五月| 国内精品久久久久久久影视麻豆 | 猫咪成人在线观看| 日韩视频一区二区三区| 久久国产婷婷国产香蕉| 亚洲电影激情视频网站| 欧美性大战久久久久久久蜜臀| 午夜精品成人在线视频| 亚洲第一精品福利| 欧美一区二区福利在线| 亚洲区一区二| 国产亚洲视频在线| 欧美三级电影网| 久久综合一区| 午夜精品福利一区二区蜜股av| 欧美激情一二区| 久久久91精品国产| 亚洲一区二区在线免费观看| 亚洲国产成人在线播放| 国产精品久久久久久久久久免费看| 久久亚洲综合网| 亚洲欧美日韩国产| 日韩午夜在线电影| 亚洲成色999久久网站| 久久精品中文字幕免费mv| 中国亚洲黄色| 亚洲日韩欧美一区二区在线| 国内精品国产成人| 国产欧美日韩亚洲一区二区三区| 欧美日本一区二区视频在线观看 | 亚洲乱码国产乱码精品精天堂 | 中文在线不卡| 亚洲第一级黄色片| 国产伦精品一区二区三| 欧美日韩视频专区在线播放 | 欧美高清在线| 欧美国产精品日韩| 欧美一区二区三区在线视频| 一本大道久久a久久精品综合| 激情偷拍久久| 国产午夜久久久久| 国产精品福利在线观看网址| 欧美高清视频一区二区三区在线观看 | 黄色欧美成人| 国产精品视频内| 欧美日韩在线免费| 欧美好吊妞视频| 免费日韩av片| 久久影视精品| 久久精品国产77777蜜臀| 亚洲欧美第一页| 亚洲视频每日更新| 亚洲天堂网站在线观看视频| 一区二区三区欧美亚洲| 亚洲精品综合| 亚洲伦理一区| 91久久精品国产91久久性色| 伊人久久成人| 伊人久久综合97精品| 国产香蕉97碰碰久久人人| 国产精品系列在线播放| 国产精品网红福利| 国产精品综合| 国产亚洲激情在线| 国产一区二区三区成人欧美日韩在线观看 | 老司机亚洲精品| 蜜桃久久av一区| 欧美成人免费大片| 欧美韩日一区| 亚洲精品乱码久久久久| 99视频国产精品免费观看| 一本久久综合亚洲鲁鲁五月天| 在线亚洲欧美专区二区| 亚洲女人av| 久久精品国产第一区二区三区最新章节 | 亚洲网在线观看| 亚洲综合大片69999| 性亚洲最疯狂xxxx高清| 久久精品国产第一区二区三区最新章节| 欧美在线中文字幕| 美女日韩在线中文字幕| 欧美精品日韩| 国产精品日韩欧美一区二区| 国产在线视频不卡二| 亚洲国产精品一区二区www| 亚洲免费精彩视频| 亚洲欧美日韩在线综合| 久久人91精品久久久久久不卡| 欧美成人亚洲成人| 亚洲麻豆视频| 欧美一级成年大片在线观看| 久久亚洲精品一区二区| 欧美区视频在线观看| 国产精品久久久久久久第一福利| 国产精自产拍久久久久久蜜| 在线欧美影院| 亚洲一区激情| 蜜桃av一区二区三区| 日韩午夜av电影| 欧美在线观看视频一区二区| 欧美不卡视频一区| 久久精彩免费视频| 欧美gay视频激情| 国产精品人人做人人爽| 亚洲国产成人久久综合| 亚洲欧美日韩精品久久久| 久久久久.com| 亚洲九九九在线观看| 欧美一区二区免费视频| 欧美激情一区二区在线 | 老鸭窝毛片一区二区三区| 亚洲精品日韩在线| 久久不射2019中文字幕| 欧美日韩国产小视频在线观看| 国产有码在线一区二区视频| 99pao成人国产永久免费视频| 欧美在线你懂的| 亚洲欧洲在线视频| 久久精品一二三区| 欧美手机在线视频| 亚洲国内精品| 久久精品中文字幕免费mv| 日韩一级网站| 免费日韩一区二区| 国产主播一区| 午夜精品短视频| 亚洲人成艺术| 久久久久久久综合色一本| 国产精品久久久久久模特| 亚洲日本视频| 你懂的网址国产 欧美| 亚洲淫性视频| 欧美日韩精品中文字幕| 亚洲国产精品成人久久综合一区| 欧美在线观看视频一区二区三区| 亚洲美女中文字幕| 欧美国产免费| 91久久久国产精品| 免费永久网站黄欧美| 欧美中文在线免费| 国产日产欧美a一级在线| 亚洲无线视频| 亚洲欧洲综合另类| 免费在线成人av| 一区国产精品| 久久综合图片| 久久久久久久综合狠狠综合| 国产一区激情| 久久www免费人成看片高清| 亚洲午夜视频在线| 国产精品久久久久久久久久三级 | 国产一区二区三区在线观看网站| 亚洲免费一在线| 一本色道久久综合| 欧美视频日韩| 亚洲一区国产精品| 亚洲视屏在线播放| 国产精品激情偷乱一区二区∴| 亚洲午夜精品视频| 这里只有精品丝袜| 国产精品裸体一区二区三区|