【2024年华数杯C题老外游中国】(完整题解+代码+完整参考论文)

news2024/10/2 20:22:58

请问 352 个城市中所有 35200 个景点评分的最高分(Best Score,简称 BS)是多少?全国有多少个景点获评了这个最高评分(BS)?获评了这个最高评分(BS)景点最多的城市有哪些?依据拥有最高评分(BS)景点数量的多少排序,列出前 10 个城市。
:数据准备
解题步骤
读取所有城市的景点评分数据:
我们需要将所有城市的 CSV 文件合并到一个 DataFrame 中。
计算最高评分(BS):
从合并后的 DataFrame 中找出所有景点评分的最高分。
统计获得最高评分的景点数量:
统计每个城市中获得最高评分的景点数量,并找出这些城市中获得最多的前 10 个城市。

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt


def generate_mock_data(num_cities=352, num_sights_per_city=100):
    data = []
    for city_id in range(1, num_cities + 1):
        for sight_id in range(1, num_sights_per_city + 1):
            data.append({
                'city_id': city_id,
                'sight_name': f'Sight_{city_id}_{sight_id}',
                'score': np.random.randint(60, 101)  # 评分在60到100之间
            })
    return pd.DataFrame(data)


mock_data = generate_mock_data()

# 找到每个城市评分最高的景点
city_best_scores = mock_data.loc[mock_data.groupby('city_id')['score'].idxmax()]

# 找到所有景点的最高评分(BS)
best_score = city_best_scores['score'].max()

# 统计全国有多少个景点获得了这个最高评分(BS)
num_best_sights = (mock_data['score'] == best_score).sum()

# 统计每个城市有多少个景点获得了这个最高评分(BS)
city_best_sight_counts = mock_data[mock_data['score'] == best_score]['city_id'].value_counts().head(10)

# 创建一个DataFrame用于可视化
visual_data = city_best_sight_counts.reset_index()
visual_data.columns = ['city_id', 'count']

# 使用Seaborn进行增强样式的条形图可视化
plt.figure(figsize=(14, 10))
sns.barplot(x='city_id', y='count', data=visual_data, palette='viridis')

# 添加标题和标签
plt.title(f'Top 10 Cities with the Most Best Scored Sights (BS = {best_score})', fontsize=16)
plt.xlabel('City ID', fontsize=14)
plt.ylabel('Number of Best Scored Sights', fontsize=14)

# 显示图表
plt.show()

# 打印结果
print(f'最高评分(BS):{best_score}')
print(f'获得最高评分(BS)的景点数量:{num_best_sights}')
print(f'拥有最多最高评分(BS)景点的前10个城市:')
print(city_best_sight_counts)

这不是完整代码。

在这里插入图片描述
要解决这个问题,我们需要分析一个包含352个城市和每个城市100个景点评分的旅游景点数据集。目标是找出所有景点评分中的最高分,以及获得最高评分景点最多的城市。以下是解题和建模过程:
数据预处理
读取数据:读取每个城市的csv文件,提取每个景点的信息。
提取评分信息:从每个景点的信息中提取评分,并记录每个景点的名称和评分。
找出最高评分(Best Score,BS)
找出最高评分:遍历所有景点,找出最高评分。
找出获得最高评分(BS)的景点数量
统计最高评分景点:统计每个城市中获得最高评分的景点数量。
找出拥有最多最高评分(BS)景点的城市
排序城市:根据每个城市中最高评分景点的数量进行排序,找出前10个城市。

老外游中国—重要

【文档】2024 华数杯C题老外游中国解题文档

https://docs.qq.com/doc/DU1RBWG9aUXVUYUhF

截图:
压缩包包含以下内容:
● 解题代码(已打包,可运行)
● 代码解析
● 解题思路
● 完整解题文章(37页)

在这里插入图片描述
预览图如下:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024带你轻松玩转Parallels Desktop19虚拟机!让你在Mac电脑上运行Windows系统

大家好,今天我要给大家安利一款神奇的软件——Parallels Desktop 19虚拟机。这款软件不仅可以让你在Mac电脑上运行Windows系统,还能轻松切换两个操作系统之间的文件和应用程序,让你的工作效率翻倍! 让我来介绍一下Parallels Desk…

【口语】基础英语之疑问句 | 描述一个认为音乐很重要的人

文章目录 一、基础英语之疑问句二、口语题:描述一个认为音乐很重要并且喜欢音乐的人 一、基础英语之疑问句 英语中的疑问句可以根据结构和用途被分为几种主要类型: 一般疑问句(General Questions): 结构:助动词 主语…

Learn ComputeShader 03 Passing data to shader

这次我们想要在一个平面中生成随机运动的圆形。之前传递数据都是通过setInt,setVector等方法进行的,但是这些方法并不能一下传递大量数据,比如一个结构体数组,一个数据块。所以这次的主要内容就是通过buffer传递大量数据。 首先是…

Android 本地化、多语言切换:Localization

目录 1)如何实现多语言切换、如何实现跟随手机语言切换而切换app语言 2)Localization是什么 3)不管手机语言如何,根据用户在App选择的语言,只切换App语言 4)文字长短不一样,怎么办呢? 一、Lo…

积分的简介

积分的简介 集成是一种添加切片以找到整体的方法。积分可用于查找区域、体积、中心点和许多有用的东西。但是,最简单的方法是从找到函数和 x 轴之间的区域开始,如下所示: 1.面积是什么?是片 我们可以在几个点上计算函数&#xf…

Error in importing environment OpenAI Gym

题意:尝试导入OpenAI Gym库中的某个环境时发生了错误 问题背景: I am trying to run an OpenAI Gym environment however I get the following error: 我正在尝试运行一个OpenAI Gym环境,但是我遇到了以下错误: import gym env…

Spring Boot整合MyBatis-Flex

说明:MyBatis-Flex(官网地址:https://mybatis-flex.com/),是一款数据访问层框架,可实现项目中对数据库的访问,类比MyBatis-Plus。本文介绍,在Spring Boot项目整合MyBatis-Flex。 创…

专业解析:U盘打不开的应对与数据恢复策略

一、U盘打不开的困境解析 在日常的数据存储与传输中,U盘作为便携的存储媒介,其重要性不言而喻。然而,当您急需使用U盘时,却遭遇“U盘打不开”的尴尬境地,这无疑会给工作和学习带来极大的不便。U盘打不开的原因多种多样…

Javase--Date

1.Date简介 Date的学习: 1. java.util包下的类 2.用于日期、时间的描述 3. 实际上时距离一个固定时间点1970年1月1日00:00:00的毫秒数 4.我们常用的是格林威治时间:GMT UTC:世界调整时间 5.固定时间点:说的其实是本初子午线的时间。因此北京时间是1970年1月1日8:00:…

评估生成分子/对接分子的物理合理性工具 PoseBusters 评测

最近在一些分子生成或者对接模型中,出现了新的评估方法 PoseBusters,用于评估生成的分子或者对接的分子是否符合化学有效性和物理合理性。以往的分子生成,经常以生成分子的有效性、新颖性、化学空间分布,与口袋的结合力等方面进行…

.NET反混淆神器de4dot使用介绍

最近在逛看雪时,发现一个帖子,[原创]常见语言基础逆向方法合集-软件逆向-看雪-安全社区|安全招聘|kanxue.com。里面介绍 了常见语言基础逆向方法合集。关于.net程序逆向这块,介绍了三个工具。 .NET Reflector .NET Decompiler: Decompile A…

C++中string类常用函数的用法介绍

在C中,string是一个功能强大的类,用于处理和操作文本数据。它属于C标准库中的字符串库部分,专门用于处理字符串。与传统的C风格字符串相比,它提供了动态内存管理、类型安全和丰富的操作方法。 目录 一、构造和初始化 二、获取字…

算法训练,项目

一.木材加工 题解: 二分答案,左边0,右边可以为最长的木头,但我直接赋值了一个很大的值,进行二分,随后写个check;内部遍历木头截取为mid木块的个数,要是>k,满足要求,还…

【时时三省】(C语言基础)一维数组

山不在高,有仙则名。水不在深,有龙则灵。 ——csdn时时三省 数组 数组就是一组数 数组的官方定义是一组相同类型元素的集合 一堆数组的创建和初始化 求组的创建 数组是一组相同类型元素的集合。数组的创建当时是: type_t arr&#x…

【JavaEE】定时器

目录 前言 什么是定时器 如何使用java中的定时器 实现计时器 实现MyTimeTask类 Time类中存储任务的数据结构 实现Timer中的schedule方法 实现MyTimer中的构造方法 处理构造方法中出现的线程安全问题 完整代码 考虑在限时等待wait中能否用sleep替换 能否用PriorityBlo…

Linux网络——深入理解 epoll

目录 一、epoll 模型 1.1 前导知识 1.1.1 宏 offsetof 1.1.2 手动计算 1.2 epoll 模型 二、 epoll 工作模式 2.1 水平触发 特点: 2.2 边缘触发 特点: 边缘触发模式中的循环读取 结合非阻塞模式的优势 一、epoll 模型 经过了之前的学习&#…

什么是容器查询?分享 1 段优质 CSS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿! 大家好,我是大澈! 本文约 700 字,整篇阅读约需 1 分钟。 今天分享一段优质 CSS 代码片段,使用容器查询…

【算法设计题】实现以字符串形式输入的简单表达式求值,第2题(C/C++)

目录 第2题 实现以字符串形式输入的简单表达式求值 得分点(必背) 题解 1. 初始化和变量定义 2. 获取第一个数字并存入队列 3. 遍历表达式字符串,处理运算符和数字 4. 初始化 count 并处理加减法运算 代码详解 🌈 嗨&#xf…

你还在为PDF文件烦恼吗?试试这四款合并工具吧!

每天应对工作都是一个头两个大的,其中pdf的文件问题就是恼人的工作量之一了,这几年的工作经历下来也找了各种可以帮助解决PDF文件问题的工具,好在使用了一些助力我高效工作的软件,今天针对其中遇到的解决pdf合并问题的四款宝藏工具…

当Vercel的域名验证规则碰上JPDirect这种不配合的同学把我的脑袋擦出了火星子

文章目录 前言问题简单说明Vercel主要功能和特点 JPDirectNameServers解决方案 总结 前言 处理域名转移这件事已经过去好几天,终于抽出点时间来总结一下,解决这件事大概花了2周多时间,因为时差的原因导致沟通缓慢,今天准备长话短…