2020牛客杯NOIP赛前集训提高第一场 T2 牛牛的猜球游戏 题解
文章目录
比赛链接
题目
题目描述
牛牛和牛妹在玩猜球游戏,牛牛首先准备了 10 10 10 个小球,小球的编号从 0 9 0~9 0 9。
首先牛牛把这 10 10 10 个球按照从左到右编号为 0 , 1 , 2 , 3 ⋅ ⋅ ⋅ 9 0,1,2,3···9 0,1,2,3⋅⋅⋅9 的顺序摆在了桌子上,接下来牛牛把这 10 10 10 个球用 10 10 10 个不透明的杯子倒扣住。
牛牛接下来会按照一定的操作顺序以极快的速度交换这些杯子。
换完以后他问牛妹你看清楚从左到右的杯子中小球的编号了么?
由于牛妹的动态视力不是很好,所以她跑来向你求助。你在调查后发现牛牛置换杯子其实是有一定原则的。
具体来讲,牛牛有一个长度大小为 n n n 的操作序列。
操作序列的每一行表示一次操作都有两个非负整数 a , b a,b a,b,表示本次操作将会交换从左往右数第 a a a 个杯子和从左往右数第 b b b 个杯子( a a a 和 b b b 均从 0 0 0 开始数)。
请注意是换杯子,而不是直接交换 a a a 号球和 b b b 号球。
牛牛和牛妹一共玩了 m m m 次猜球游戏,在每一轮游戏开始时,他都将杯子中的小球重置到从左往右依次为 0 , 1 , 2 , 3 ⋅ ⋅ ⋅ 9 0,1,2,3···9 0,1,2,3⋅⋅⋅9 的状态。
然后在第 i i i 轮游戏中牛牛会按照操作序列中的第 l i l_i li 个操作开始做,一直做到第 r i r_i ri 个操作结束( l l l 和 r r r 的编号从 1 1 1 开始计算)。
由于你提前搞到了牛牛的操作序列以及每一次游戏的 l , r l,r l,r。
请你帮助牛妹回答出牛牛每一轮游戏结束时,从左至右的杯子中小球的编号各是多少。
输入格式
首先输入一行两个正整数 n , m n,m n,m,表示操作序列的长度以及进行游戏的次数。
接下来 n n n 行每行两个非负整数 a , b a,b a,b,表示交换左数第 a a a 个杯子和左数第 b b b 个杯子。( a , b a,b a,b 均从 0 0 0 开始数起)接下来 m m m 行每行两个正整数 l , r l,r l,r 表示该轮游戏中牛牛从第 1 1 1

本文详细解析2020年牛客杯NOIP赛前集训提高第一场的牛牛猜球游戏题目,包括题目描述、输入输出格式、数据范围分析、解题思路和代码实现。通过分块暴力优化策略,解决了10^5次操作的复杂问题,实现了高效的求解方法。
最低0.47元/天 解锁文章
1874

被折叠的 条评论
为什么被折叠?



