博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第七届山东省省赛D Swiss-system tournament(归并排序)
阅读量:6496 次
发布时间:2019-06-24

本文共 906 字,大约阅读时间需要 3 分钟。

题意:

给出2n个选手的id,能力值和初始分数

然后按分数从大到小,id从小到大排序

相邻的选手打

能力值大的分数+1

进行r轮

问你比赛过后,排名第q的选手id是多少

思路:

开始先sort一遍,每一轮比赛都归并处理

赢得人分一组,输的人分一组,保证两组有序

然后合并到原数组

持续r轮后输出结果就好了

/* ***********************************************Author        :devilCreated Time  :2016/6/10 14:24:16************************************************ */#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;const int N=1e5+10;int n;struct wq{ int id,score,cap; void push(int a,int b,int c) { id=a; score=b; cap=c; }}eg[N<<1],eg1[N],eg2[N];bool cmp(wq a,wq b){ if(a.score!=b.score) return a.score>b.score; return a.id
eg[i+1].cap||eg[i].cap==eg[i+1].cap&&eg[i].id
eg2[b].score||eg1[a].score==eg2[b].score&&eg1[a].id

 

转载于:https://www.cnblogs.com/d-e-v-i-l/p/5573644.html

你可能感兴趣的文章
P2533 [AHOI2012]信号塔
查看>>
Android电话拨号器(uri格式)与四种设置点击事件的方法
查看>>
java web中对json的使用
查看>>
TYVJ P1051 选课 Label:多叉转二叉&&树形dp(虐心♥)
查看>>
将数据库中提取出来的数据在后台进行分页处理
查看>>
bzoj1034
查看>>
百度地图 鼠标绘制,获取矩形,多边形的顶点经纬度
查看>>
回文树模板
查看>>
struts2之防止表单重复提交
查看>>
【转】Netty系列之Netty并发编程分析
查看>>
cf591d
查看>>
图片存储系统TFS
查看>>
MYSQL备份与恢复
查看>>
贪心/数学 Codeforces Round #212 (Div. 2) A. Two Semiknights Meet
查看>>
Python类__call__()方法
查看>>
「小程序JAVA实战」 小程序wxss样式文件的使用(七)
查看>>
容斥定理,皮克公式
查看>>
git+idea
查看>>
cocos2d游戏开发,常用工具集合
查看>>
FatTree胖树拓扑结构
查看>>