排名预测系统

news/2024/5/9 4:59:05/文章来源:https://blog.csdn.net/thexue/article/details/128045432

排名预测系统

题目链接

题目背景:

本题大模拟来自真实的需求,即:综合三场网络赛的名次,来预计一个正式队伍在所有正式参赛队伍中的名次以此来估计自己能不能拿牌。本来只有一道题,即为你们看到的T5,经过讨论后决定降低难度,分为五个部分,这五个部分由简单到难,最终实现一个较为复杂的系统,这也启示着我们,如果一道题目较为复杂,那么试着抓住主干,将最需要完成的部分先完成将代码跑起来,而不是陷入茫茫的细节中无法自拔,所以在做大模拟时,必须先抽象出整体框架再来填充细节。
本道题的解题思路如下:
1.参赛队伍与源数据进行匹配
2.根据匹配的源数据进行排序
3.维护队伍排名
4.维护校排名
5.维护队内排名

子任务一:参赛队伍与源数据匹配

由于参赛的队伍具体人员可能与网络赛队伍不同,所以需要先将正式参赛的队伍与网络赛成绩关联起来,具体的关联规则是:1.单挑2.两人及以上重复队员出现
在子任务一中其实可以再划分成更小的子任务,即先不考虑具体匹配了谁。先将两条数据关联起来。用两个结构体来维护。具体如下:
在这里插入图片描述

contestInf存储网络赛信息
Realcontest放区域赛信息,用matched存放匹配的具体比赛,其中用matchname存放匹配的人名,其它变量含义见名知意,具体匹配只需要暴力n*m,根据匹配规则将数据和队伍关联起来即可。

匹配规则函数

在这里插入图片描述

子任务二:

完成子任务一后子任务二就很简单了,只需要维护所有匹配队伍的最大成绩,以此作为第一关键字,输入的行号作为第二关键字排序输出即可,这里会发现后面输出的内容一样,所以把A题的输出保存起来到output封装起来,避免格式错误,这也是模块化编程的思路,一步一步封装细节,提高代码的复用性。
在这里插入图片描述

输出封装函数

在这里插入图片描述

子任务三:

需要考虑的就是队伍排名重复如何维护,只需要判断当前成绩是否与上一个队伍成绩相同,如果相同则名次不变,但是要维护一下相同的个数,那么下次不同时排名即为:上一个排名+相同的个数+1

维护函数:

在这里插入图片描述

子任务四:

其实维护离散的子任务3,用map或者set判断当前的队伍是否第一次出现,若第一次出现,那么维护方法其实和子任务三是一样的,也需要判断当前成绩与上一个第一次出现成绩学校的成绩是否相同,用两个变量维护即可
在这里插入图片描述

子任务五:

离散的子任务四,维护思路同上,维护校内上一个队伍成绩和队内当前排名,用两个map维护即可。
细节参考源码:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_36921.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP响应详解

目录 一.状态码 小结(记住) 二.认识响应正文(body) 三.如何构造http请求 一.状态码 是一个数字,这个数字描述了当前这次请求的状态(成功,失败,失败的原因) http的状态…

logcat日志文件分析

3:显示时间戳日志 adb logcat -v time > d:\文件\log.txt 日志文件分析 输出的日志格式由5部分组成 1:写下日志的时间 2:优先级,日志优先级从低到高分以下几种 v -verbose 最低级别,开发调试中的一些详细信息,仅在开发中使用&#…

以分割栅格为例实现FME模板的方案优化

一、利用FME分割栅格 (一)问题的产生 对于FME使用者来说,利用FME完成栅格的批量分割是一件极为平常且容易的事情。只需要输入栅格和确定分割方案就可以实现利用FME对栅格数据的分割,再配合FME的“扇出”功能,就能够实…

【colab安装mmcv-full和mmclassification】

colab安装mmcv-full和mmclassification改变cuda和pytorch版本查看torch版本安装mmcv-full安装mmclassification克隆并安装mmcls切换到目录源码安装检查mmcls版本改变cuda和pytorch版本 !pip --default-timeout1000 install torch1.9.0cu111 -f https://download.pytorch.org/w…

常用辅助类

CountDownLatch 应用场景:1.多线程任务汇总。2.多线程任务阻塞住,等待发令枪响,一起执行。 减法计数器 每次有线程调用,数量-1,当计数器归零,countDownLatch.await()就会被唤醒向下执行。 import java.uti…

c语言tips-带参main函数

0.写在最前 最近因为工作需要开始重新学c语言,越学越发现c语言深不可测,当初用python轻轻松松处理的一些数据,但是c语言写起来却异常的复杂,这个板块就记录一下我的c语言复习之路 1. main函数的两种表现形式 main函数是c/cpp语言的…

Docker学习(5)—— 在Docker上安装软件

一. 安装Tomcat 1. 下载最新版 (1) 拉取Tomcat镜像 docker pull tomcat (2) 查看是否拉取到Tomcat镜像 docker images tomcat (3) 创建Tomcat容器并启动 docker run -d -p 8080:8080 tomcat 这时访问tomcat首页报404错误,有以下两个原因:①防火…

XSS绕过安全狗WAF

今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS绕过安全狗WAF。 一、测试环境搭建 我们使用Vmware虚拟机搭建靶场环境。在Vmware虚拟机上,安装有PHPStudy,如下所示: 然后安装安全狗WAF,安全狗WAF有一系列的…

【kafka】一、kafka介绍

kafka概述 定义 kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。 消息队列 1)解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2)可恢复性 系统的一部分组件…

安装Python

搭建 Python 环境 要想能够进行 Python 开发, 就需要搭建好 Python 的环境. 需要安装的环境主要是两个部分: 1、运行环境: Python 2、开发环境: PyCharm 一、安装Python 1.1、官网下载Python 搜索引擎输入 Python 进入Python官网 1.2、找到下载页面 因为是在Windows环境…

npm配置taobao镜像及nrm快速换源工具介绍

文章目录npm配置淘宝镜像1 为什么默认源下载很慢?2 淘宝npm镜像服务器3 切换npm的下包镜像源4 nrmnpm配置淘宝镜像 1 为什么默认源下载很慢? 在使用npm下包的时候,默认从国外的https://registry.npmjs.orgl服务器进行下载,此时&…

前后端分页插件

PageHelper 是一个 MyBatis 的分页插件,支持多种数据库,可查看官网&#xff0c;负责将已经写好的 SQL 语句&#xff0c;进行SQL分页加工。无需你自己去封装以及关心 SQL 分页等问题&#xff0c;支持多种分页方式,如从第0或第一页开始, 使用很方便。 添加依赖 <dependency&…

论文阅读笔记 | 三维目标检测——VoxelNet算法

如有错误&#xff0c;恳请指出。 文章目录1.背景2. 网络结构2.1 体素特征表示2.2 卷积特征提取2.3 RPN网络3. 实验结果paper&#xff1a;《VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection》 1.背景 以往的3d检测器都难免利用了手工设计特征(hand-…

如何根据不同需求给Word文档设置保护?

Word文档可以设置不同的保护模式&#xff0c;我们可以根据不同需求选择合适的方法&#xff0c;下面介绍一下常用的3种方法。 方法一&#xff1a; 如果不想Word文档被随意打开&#xff0c;我们可以设置打开密码&#xff0c;只有输入正确的密码才能打开文件。 首先&#xff0c…

python面向对象(上)

python面向对象上命名规则对象的创建创建类对象创建实例对象修改增加类属性构造方法构造实例方法不带变量带变量构造方法小例子构造类方法构造静态方法运算符的重载比较运算符重载字符串重载索引或切片重载索引或切片重载检查成员重载重载小结持续更新中~~~~~~~~先上个例子&…

古人的名与字、号、讳、谥有什么区别

古人复杂的名字 这个世界上想来是不存在没有名字的人&#xff0c;即便真的有人没名字&#xff0c;也会被外人赠予姓名&#xff0c;比如说一些古人典籍里的“无名氏”&#xff0c;就是专门用来形容那些没有名字也不清楚根脚的人&#xff0c;即便是现如今一些作品不知道作者是谁…

国外服务器采取数据备份和灾难恢复的重要性

在国外服务器的使用中&#xff0c;数据的安全性和完整性是任何组织都不能忽视的问题。丢失数据可能会对业务造成毁灭性的影响&#xff0c;因此必须有一个完善的数据备份和灾难恢复计划。 什么是备份? 备份将数据复制到辅助形式&#xff0c;如存档文件&#xff0c;在灾难发生时…

C++:函数指针进阶:看完还不用std::function来捶我

1&#xff1a;函数指针的背景 我们先简单聊一下函数指针的背景&#xff0c;具体使用请参考我的这篇博客 C &#xff1a;函数&#xff1a; 函数指针_hongwen_yul的博客-CSDN博客 假设现在有这样一段代码&#xff1a;C/C中可以使用指针指向一段代码&#xff0c;这个指针就叫函…

【外卖项目实战开发一】

文章目录1、软件开发整体介绍2、外卖项目介绍3、环境搭建数据库环境搭建创建数据库执行SQL脚本数据表maven项目搭建添加依赖:application.yml配置application启动类4、后台登录功能开发需求分析代码开发5、后台退出功能开发1、软件开发整体介绍 软件开发流程 角色分工 软件…

Quasar搭建教程初体验

文章目录一、Quasar框架介绍二、搭建一个简单的Quasar程序1、Quasar CLI安装2、创建Quasar应用程序3、运行Quasar三、使用Quasar开发SSR四、使用Quasar开发桌面应用(Electron)1、添加Quasar Electron模式2、运行开发五、使用Quasar移动应用(Capacitor)1、下载安装AndroidStudio…