当前位置: 首页 > news >正文

2024华数杯C题解题思路、参考论文已出(无偿分享)~

C题:老外游中国

“数模加油站”团队出品~


问题1:

解题思路:

1、数据准备:

导入352个城市的csv文件,提取每个城市中的100个景点的信息。

将每个景点的评分数据提取出来,形成一个包含35200个景点评分的列表。

2、找出最高评分(Best Score, BS):

遍历所有景点评分,使用一个变量记录当前最高评分。

通过比较每个景点的评分,更新该变量。

3、统计获得最高评分的景点数量:

在第一次遍历评分时,除了记录最高评分外,还可以使用一个计数器来统计获得该最高

评分的景点数量。

如果发现新的最高评分,重置计数器;如果发现评分等于当前最高评分,计数器加一。

4、找出获得最高评分的城市:

使用一个字典或列表来存储每个城市获得最高评分景点的数量。

在遍历评分的同时,记录每个城市获得最高评分的景点。

5、排序并找出前10个城市:

将城市及其获得最高评分景点数量的字典转换为列表并进行排序。

提取前10个城市和它们对应的景点数量。

6、输出结果:

输出最高评分(BS)、获得最高评分景点的总数量以及前10个城市的名称和景点数量。

建模过程:

参考代码: 

import numpy as np
import pandas as pd# 假设我们有352个城市和每个城市100个景点的评分
num_cities = 352
num_attractions = 100# 随机生成评分数据(1到10之间的随机整数)
scores = np.random.randint(1, 11, size=(num_cities, num_attractions))# 初始化变量
BS = -np.inf  # 最高评分
N_BS = 0      # 获得最高评分的总数量
city_scores = np.zeros(num_cities)  # 用于存储每个城市获得最高评分的景点数量# 遍历每个城市
for i in range(num_cities):# 获取当前城市的景点评分current_scores = scores[i, :]# 找到当前城市的最高评分current_max_score = np.max(current_scores)# 更新最高评分和计数if current_max_score > BS:BS = current_max_scoreN_BS = np.sum(current_scores == BS)  # 当前城市获得最高评分的景点数量city_scores[i] = N_BS  # 记录当前城市数量elif current_max_score == BS:N_BS += np.sum(current_scores == BS)  # 更新总数量city_scores[i] += np.sum(current_scores == BS)  # 记录当前城市数量# 创建城市编号数组
city_indices = np.arange(1, num_cities + 1)# 创建一个包含城市和对应景点数量的DataFrame
city_data = pd.DataFrame({'CityIndex': city_indices,'AttractionCount': city_scores
})# 筛选获得最高评分的城市
best_cities = city_data[city_data.AttractionCount > 0]# 按照景点数量排序并提取前10个城市
sorted_cities = best_cities.sort_values(by='AttractionCount', ascending=False)
top_10_cities = sorted_cities.head(10)# 输出结果
print(f'最高评分: {BS}')
print(f'获得最高评分的总数量: {N_BS}')
print('获得最高评分的前10个城市及其景点数量:')
print(top_10_cities)

问题2:

解题思路:

        1.确定评价指标

根据“城市最佳景点游览原则”,制定一系列评价指标,包括但不限于:

(1)城市规模:人口、面积等。

(2)环境环保:空气质量、绿地比例、水体污染程度等。

(3)人文底蕴:历史遗迹、文化活动、博物馆数量等。

(4)交通便利:公共交通系统、交通拥堵指数、机场数量等。

(5)气候:年均气温、降水量、旅游旺季等。

(6)美食:当地特色美食的丰富性和多样性。

        2.数据收集与整理

(1)收集352个城市在上述指标上的数据。数据来源可以包括:

政府统计局

国际组织(如联合国、世界卫生组织)

旅游网站和评论(如TripAdvisor等)

本地旅游局或研究机构的报告

(2)将收集到的数据整理成结构化的格式(如CSV文件或数据库)。

        3.数据标准化

因为不同指标的量纲和范围可能不同,需要对数据进行标准化处理,以便进行综合评价。可以考虑使用Z-score标准化或Min-Max归一化。

        4.权重分配

确定各个指标的权重(可以通过专家打分、调查问卷等方式获取),使得某些指标对最终评分的影响更大,以反映外国游客的偏好。

        5.综合评分计算

根据标准化后的数据和权重,计算每个城市的综合评分。可以使用加权平均法:

        6.城市排序:

根据综合评分对352个城市进行排序,选择得分最高的前50个城市。

        7.结果分析与可视化:

对选出的50个城市进行分析,探讨它们的共同特点。

使用可视化工具(如Matplotlib、Seaborn等)绘制图表,展示评分的分布情况、不同指标的重要性等。

        8.撰写报告:

整理分析结果,撰写报告,描述所选城市及其吸引外国游客的原因。可以考虑包含城市的图片、旅游推荐等信息,增强报告的可读性和吸引力。

建模过程:

        后续在“数模加油站”~

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [QT开发_音乐播放器项目笔记01]
  • PyFilesystem2 - Python 操作文件系统
  • Django中的模型小总结:
  • 双指针算法
  • 力扣-200.岛屿数量
  • 广州城市信息模型(CIM)白皮书学习
  • 【iOS】暑假第二周——网易云APP 仿写
  • 【TwinCAT3教程】IEC61131-3编程基础
  • Yolov8添加ConvNetV1和V2模块
  • PostgreSQL数据库内核(二):通过initdb传递guc参数
  • [安洵杯 2019]easy_web1
  • 微信小程序接口实现语音转文字
  • 牛客周赛 Round 54 (c++题解)
  • 使用Echarts来实现数据可视化
  • python-查找元素3(赛氪OJ)
  • 2019年如何成为全栈工程师?
  • Gradle 5.0 正式版发布
  • input实现文字超出省略号功能
  • JavaScript设计模式系列一:工厂模式
  • markdown编辑器简评
  • Mysql5.6主从复制
  • webpack入门学习手记(二)
  • 半理解系列--Promise的进化史
  • 从setTimeout-setInterval看JS线程
  • 飞驰在Mesos的涡轮引擎上
  • 数据科学 第 3 章 11 字符串处理
  • 微信支付JSAPI,实测!终极方案
  • 异步
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 《天龙八部3D》Unity技术方案揭秘
  • 2017年360最后一道编程题
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​MySQL主从复制一致性检测
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #565. 查找之大编号
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (强烈推荐)移动端音视频从零到上手(上)
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)ABI是什么
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)大道至简,职场上做人做事做管理
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET Core 2.1路线图
  • .NET Core 版本不支持的问题
  • .NET Core 中插件式开发实现
  • .net 流——流的类型体系简单介绍
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET开源、简单、实用的数据库文档生成工具
  • .NET命令行(CLI)常用命令
  • ?.的用法