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_score
        N_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.撰写报告:

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

建模过程:

        后续在“数模加油站”~

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值