瑞士轮|NOIP 普及组 2011 第二轮(复赛)真题

1 秒 / 测试点 · 128 MiB

[NOIP 2011 普及组] 瑞士轮

题目背景

在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高。后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗长。

本题中介绍的瑞士轮赛制,因最早使用于 1895 年在瑞士举办的国际象棋比赛而得名。它可以看作是淘汰赛与循环赛的折中,既保证了比赛的稳定性,又能使赛程不至于过长。

题目描述

$2 \times N$ 名编号为 $1\sim 2\times N$ 的选手共进行 $R$ 轮比赛。每轮比赛开始前,以及所有比赛结束后,都会按照总分从高到低对选手进行一次排名。选手的总分为第一轮开始前的初始分数加上已参加过的所有比赛的得分和。总分相同的,约定编号较小的选手排名靠前。

每轮比赛的对阵安排与该轮比赛开始前的排名有关:第 $1$ 名和第 $2$ 名、第 $3$ 名和第 $4$ 名、……、第 $2\times K - 1 $ 名和第 $2\times K$ 名、…… 、第 $2\times N - 1$ 名和第 $2\times N$ 名,各进行一场比赛。每场比赛胜者得 $1$ 分,负者得 $0$ 分。也就是说除了首轮以外,其它轮比赛的安排均不能事先确定,而是要取决于选手在之前比赛中的表现。

现给定每个选手的初始分数及其实力值,试计算在 $R$ 轮比赛过后,排名第 $Q$ 的选手编号是多少。我们假设选手的实力值两两不同,且每场比赛中实力值较高的总能获胜。

输入格式

第一行是三个正整数 $N,R,Q$,每两个数之间用一个空格隔开,表示有 $2\times N $ 名选手、$R$ 轮比赛,以及我们关心的名次 $Q$。

第二行是 $2\times N$ 个非负整数 $s_1, s_2,\dots, s_{2\times N}$,每两个数之间用一个空格隔开,其中 $s_i $ 表示编号为 $i$ 的选手的初始分数。

第三行是 $2\times N$ 个正整数 $w_1,w_2,\dots,w_{2\times N}$,每两个数之间用一个空格隔开,其中 $w_i$ 表示编号为 $i$ 的选手的实力值。

输出格式

一个整数,即 $R$ 轮比赛结束后,排名第 $Q$ 的选手的编号。

样例 1

2 4 2 
7 6 6 7 
10 5 20 15 
1

说明 / 提示

【样例解释】

题目配图

【数据范围】

对于 $30\%$ 的数据,$1\le N\le 100$;

对于 $50\%$ 的数据,$1\le N\le 10000$;

对于 $100\%$ 的数据,$1\le N\le 10^5,1\le R\le 50,1\le Q\le 2\times N,0\le s_1, s_2,\dots,s_{2\times N}\le 10^8,1\le w_1, w_2 , \dots, w_{2\times N}\le 10^8$。

noip2011 普及组第 3 题。

本卷题目

  1. 数字反转
  2. 统计单词数
  3. 瑞士轮
  4. 表达式的值

题目可直接阅读。页面加载后可编写 C++ 代码、运行样例并提交在线评测。

正在加载试卷…

意见反馈

无需登录也能反馈。管理员的回复可在“我的反馈”中查看。