noip2011 瑞士轮 (归并排序)
背景
在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高。后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗长。
本题中介绍的瑞士轮赛制,因最早使用于 1895 年在瑞士举办的国际象棋比赛而得名。它可以看作是淘汰赛与循环赛的折衷,既保证了比赛的稳定性,又能使赛程不至于过长。
描述
每轮比赛的对阵安排与该轮比赛开始前的排名有关:第 1 名和第2 名、第3 名和第4名、……、第2K – 1 名和第2K 名、…… 、第 2N – 1 名和第2N 名,各进行一场比赛。每场比赛胜者得1 分,负者得0 分。也就是说除了首轮以外,其它轮比赛的安排均不能事先确定,而是要取决于选手在之前比赛中的表现。
现给定每个选手的初始分数及其实力值,试计算在 R 轮比赛过后,排名第Q 的选手编号是多少。我们假设选手的实力值两两不同,且每场比赛中实力值较高的总能获胜。
输入格式
输入的第一行是三个正整数 N、R、Q,每两个数之间用一个空格隔开,表示有2*N 名选手、R 轮比赛,以及我们关心的名次Q。
第二行是 2*N 个非负整数s1, s2, …, s2N,每两个数之间用一个空格隔开,其中si 表示编号为i 的选手的初始分数。
第三行是 2*N 个正整数w1, w2, …, w2N,每两个数之间用一个空格隔开,其中wi 表示编号为i 的选手的实力值。
输出格式
输出只有一行,包含一个整数,即 R 轮比赛结束后,排名第Q 的选手的编号。
测试样例1
输入
2 4 2
7 6 6 7
10 5 20 15
输出
1
备注
本轮对阵 本轮结束后的得分
选手编号 / ① ② ③ ④
初始 / 7 6 6 7
第1 轮 ①—④ ②—③ 7 6 7 8
第2 轮 ④—① ③—② 7 6 8 9
第3 轮 ④—③ ①—② 8 6 9 9
第4 轮 ③—④ ①—② 9 6 10 9
【数据范围】
对于 30%的数据,1 ≤ N≤ 100;
对于 50%的数据,1 ≤ N≤ 10,000;
对于 100%的数据,1 ≤ N≤ 100,000,1 ≤ R≤ 50,1 ≤ Q≤ 2N,0 ≤ s1, s2, …, s2N ≤ 10^8,1 ≤ w1,w2, …, w2N ≤ 10^8。
By wjy
解析:
代码:
#include<cstdio>
#include<algorithm>
#define maxn 100000
using namespace std;int n,r,q;
int a[maxn*2+100],win[maxn+100],lose[maxn+100];
int s[maxn*2+100],w[maxn*2+100];bool cmp(int x,int y)
{if(s[x]!=s[y])return s[x]>s[y];return x<y;
}bool MAX(int x,int y)
{if(s[x]!=s[y])return s[x]>s[y];return x<y;
}void merge()
{int i,j,k;i=j=1,a[0]=0;while(i<=win[0] && j<=lose[0])if(MAX(win[i],lose[j]))a[++a[0]]=win[i++];else a[++a[0]]=lose[j++];while(i<=win[0])a[++a[0]]=win[i++];while(j<=lose[0])a[++a[0]]=lose[j++];
}int main()
{int i,j,k;scanf("%d%d%d",&n,&r,&q),n<<=1;for(i=1;i<=n;i++)a[i]=i;for(i=1;i<=n;i++)scanf("%d",&s[i]);for(i=1;i<=n;i++)scanf("%d",&w[i]);sort(a+1,a+n+1,cmp);for(i=1;i<=r;i++){win[0]=lose[0]=0;for(j=1;j<=n;j+=2)if(w[a[j]]>w[a[j+1]]){s[a[j]]++;win[++win[0]]=a[j];lose[++lose[0]]=a[j+1];}else{s[a[j+1]]++;win[++win[0]]=a[j+1];lose[++lose[0]]=a[j];} merge(); }printf("%d\n",a[q]); return 0;
}
noip2011 瑞士轮 (归并排序)相关推荐
- NOIP2011 瑞士轮 题解
题目 瑞士轮 题目描述 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低,但比 ...
- P1309 [NOIP2011 普及组] 瑞士轮-快排+归并排序
[NOIP2011 普及组] 瑞士轮 题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较 ...
- [NOIP2011 普及组] 瑞士轮
题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低,但比赛过程往往十分 ...
- 信息学奥赛一本通 1955:【11NOIP普及组】瑞士轮 | OpenJudge NOI 4.1 4363:瑞士轮 | 洛谷 P1309 [NOIP2011 普及组] 瑞士轮
[题目链接] ybt 1955:[11NOIP普及组]瑞士轮 OpenJudge NOI 4.1 4363:瑞士轮 洛谷 P1309 [NOIP2011 普及组] 瑞士轮 [题目考点] 1. 归并排序 ...
- 洛谷P1309 瑞士轮【归并排序】
题目链接:P1309 瑞士轮 程序说明: 卡了一个晚上,思路比较简单但是细节很多,有很多大坑! 每轮比赛结束后都需要对选手的成绩进行排序,这道题不能用STL的sort()或者手写快排进行排序,否则会超 ...
- P1309 [NOIP2011 普及组] 瑞士轮
题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低,但比赛过程往往十分 ...
- NOIP2011普及组 瑞士轮
看到题解区之后明白了自己居然脑补出伪的归并排序了 (我才知道如何在Markdown中打空行了--) 洛谷-题目链接-瑞士轮 不得不说其实这题很好想或者说是灵光一现.但是在写代码的时候不知道脑子是不是抽 ...
- 洛谷排序--瑞士轮(归并排序)
洛谷排序–瑞士轮(归并排序) 题目背景: 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平 ...
- 瑞士轮(P1309 )
瑞士轮(P1309 ) 题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性 ...
最新文章
- python调用webservice接口实例_python发布webservice接口
- 计算机学院的运动会介绍,敢于拼搏 超越自我 --计算机学院校运动会动员大会召开...
- 你我他科技php面试题,北京科大”携手你我他”, “励”行爱加艾減公益
- 鹅厂程序员最喜欢用什么编程语言?Leader写代码么?
- Dotnet全平台下APM-Trace探索
- STC51-1602、12232、12864液晶
- 如何在Eclipse中如何自动添加注释和自定义注释风格
- OWOD:开放世界目标检测,更贴近现实的检测场景 | CVPR 2021 Oral
- Sci-Hub又又又被起诉了!这个论文免费下载网站也太难了...
- python设计查询余额程序_使用Python调取任意数字资产钱包余额功能
- LINUX虚拟机安装增强功能时报错: Kernel headers not found for target kernel. Please install them and execute
- 如何去除暴风影音2009的广告
- i78700和i510400f性能差距大不大
- 万物互联时代的数据安全
- 陈强老师公开课笔记2——中介效应的原理与检验
- 如何科学地评价妹子身材?三围符合黄金比例是审美标准?你错了!
- dwf怎么合成一个_油菜素内酯合成基因DWF1、DET2影响毛白杨木质部形成
- storm是java还是python_Storm概念学习系列之什么是实时流计算?
- 蚂蚁研究员玉伯:做一个简单自由有爱的技术人
- e代驾——打造代驾服务标准化平台
热门文章
- oracle原销售订单退货,取消销售订单
- matlab动态神经网络进行时间序列预测分析
- 2019牛客暑期多校训练营(第七场)-B Irreducible Polynomial(多项式因式分解)
- OGNL中#、%和$的用法
- Git之一次Push的回滚之旅
- Xcode The 'Apple Push Notification' feature is only available to users enrolled in Apple Develo...
- VMware-workstation-full-10.0.2中英文切换
- 为什么 ERP 系统的用户体验不好?
- 面试技巧自我介绍大全
- JavaScript零基础入门 13:DOM规范中的MutationObserver接口