题目名称 1718. [CEOI 1999] 奇偶性游戏
输入输出 parity.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarcstdio 于2014-10-01加入
开放分组 全部用户
提交状态
分类标签
并查集 带权并查集
分享题解
通过:66, 提交:178, 通过率:37.08%
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.000 s 0.00 MiB C++
Gravatarsyzhaoss 100 0.000 s 0.00 MiB C++
Gravatarsyzhaoss 100 0.000 s 0.00 MiB C++
Gravatar锝镆氪锂铽 100 0.000 s 0.00 MiB C++
GravatarHarry Potter 100 0.000 s 0.00 MiB C++
Gravataryrtiop 100 0.000 s 0.00 MiB C++
Gravatar┭┮﹏┭┮ 100 0.000 s 0.00 MiB C++
GravatarUntitled 100 0.000 s 0.00 MiB C++
Gravataryrtiop 100 0.000 s 0.22 MiB C++
GravatarLGLJ 100 0.000 s 0.35 MiB C++
本题关联比赛
数据结构应用练习2
关于 奇偶性游戏 的近10条评论(全部评论)
。。。
Gravatarhzoi_xx
2017-10-27 16:44 5楼
回复 @<蒟蒻>阳春白雪 :
膜拜阳春白雪大神
Gravatarzys
2015-08-04 17:37 4楼
哈希表的散列化存储
Gravatar0
2015-04-13 16:59 3楼
第2组测试数据有问题
Gravatarevd
2015-03-07 20:43 2楼
带“到根边权和”的并查集,解法真漂亮!
Gravatarcstdio
2014-10-01 21:07 1楼

1718. [CEOI 1999] 奇偶性游戏

★★★   输入文件:parity.in   输出文件:parity.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

你偶尔和朋友玩如下的游戏。你的朋友写下一个由01组成的序列。你选择连续的一段子序列(例如,从第3到第5个数的子序列),问他这一段中1的个数是偶数还是奇数。你的朋友会回答你的问题,然后你可以问他另外一段子序列,等等。你的任务是猜出整个序列。

你怀疑你朋友的一些回答可能是错误的,并且你希望证明他说了假话。因此你决定写一个程序来帮助你。这个程序将会收到你的一系列问题以及你朋友给出的答案。程序的目标是找到第一个被证明是错误的回答,即,存在一个序列能满足之前所有回答,但加上这个回答后就不存在相应的序列。

【输入格式】

输入文件的第一行有一个整数,代表01序列的长度。长度不超过1000000000。

第二行有一个正整数,代表询问和回答的数量。数量不超过5000.

接下来的若干行描述了所有的了询问和回答。每一行包含了一个询问和对此询问的回答:两个整数(所选择的子序列的起止点),一个单词“even”或“odd”(答案,即该子序列中1的个数的奇偶性),其中“even”代表有偶数个,“odd”代表有奇数个。

【输出格式】

输出一个整数X。它意味着:存在一个01序列满足前X个奇偶性询问,但不存在满足前X+1个奇偶性询问的序列。如果存在满足所有询问的序列,X就应该是询问的总数。

【输入样例1】

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

【输出样例1】

3

【输入样例2】

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

【输出样例2】

5

【来源】

CEOI 1999 Parity game