NOIP2011瑞士轮

题目来自网上(2333)




乍眼一看这道题好像很水,其实——的确很水。这其实只是一道普及组的题目而已啦。但我能一遍过还是很开森的。

暴力的话,每次处理完就sort一次,感觉很不错。但根据官方的数据这只有50分,因为复杂度是O(Rnlogn)的(n是2倍N)。

其实在心里想想就能想通,每次比赛总是排名相邻的两人比赛,赢着加分,输者不加不减。我们先sort一次,然后每次把选手分为两组——胜者组和败者组。我们就可以发现,两组的分数顺序还是有序的。恍然大悟!——归并排序!

于是就手打一遍,模拟胜负,记录,归并,循环R次即可。由于数据比较大,建议开读入优化。

下面标程双手奉上(写的有点丑):

#include	<iostream>
#include	<cstdio>
#include	<cstdlib>
#include	<cstring>
#include	<algorithm>
using name
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值