news 2026/8/14 5:38:14

MathorCup 2023赛题解析:从数据挖掘到优化建模的实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MathorCup 2023赛题解析:从数据挖掘到优化建模的实战指南

1. 从参赛者视角看2023年MathorCup赛题的整体印象

又到了一年一度数学建模竞赛的复盘季。作为一项在国内高校圈子里颇有分量的赛事,MathorCup的题目一直以其鲜明的“应用导向”和“数据驱动”特色著称。2023年的A、B、C、D四道题,可以说将这种风格展现得淋漓尽致。和往年相比,今年的题目给我的整体感觉是:“场景更具体,数据更真实,对建模者的综合能力要求更高了。”这不再是那种可以靠套用几个经典模型就能应付的比赛,它要求你真正理解问题背景,能从一堆看似杂乱的数据中梳理出逻辑,并最终给出一个能“落地”的、有说服力的解决方案。

如果你是第一次接触MathorCup,或者正准备参加下一届,那么深入剖析这四道题的价值,远不止于“事后诸葛亮”式的评价。它能帮你理解这类竞赛的命题趋势,知道组委会在考察什么,从而在未来的备赛中更有针对性。简单来说,这四道题就像四份精心设计的“能力体检表”,分别从不同的维度测试了参赛队伍的数学功底、编程能力、业务洞察力和报告撰写水平。接下来,我就以一个过来人的身份,结合常见的建模流程,逐一拆解这四道题的难点、亮点以及背后可能考察的核心能力。

2. A题:量子计算机在信用评分卡组合优化中的应用——当前沿科技遇见经典金融

A题一出来,就吸引了不少眼球。“量子计算机”和“信用评分”这两个词的组合,充满了未来感。这道题的本质,是一个经典的组合优化问题,但在其中巧妙地引入了量子计算的概念作为求解工具之一。

2.1 问题核心与经典建模思路的碰撞

题目背景是银行发行多张信用卡,每张卡对应不同的信用评分卡(可以理解为不同的风险审批规则)。银行的目标是:在总通过率(即所有卡审批通过的人数占比)和总坏账率(即所有卡中最终违约的人数占比)的约束下,如何分配这些评分卡,使得银行的最终利润最大化。

抛开“量子”这个炫酷的前缀,其数学模型可以归结为一个多目标非线性整数规划问题。决策变量是每张评分卡分配给哪一张信用卡。目标函数是利润,它由收入(通过客户的利息等)和损失(坏账)构成,而通过率和坏账率都与评分卡的阈值选择密切相关。约束条件包括总通过率不能太低(否则业务量不足),总坏账率不能太高(否则风险失控)。

在传统建模框架下,队伍通常会这样入手:

  1. 数据预处理:题目提供了信用评分卡的样本数据。首先要做的就是理解每个字段的含义,比如“信用评分”、“违约标签”等。对于连续变量如评分,可能需要分箱处理;对于缺失值,需要采用适当方法填补。
  2. 建立单张评分卡模型:这通常是逻辑回归(Logistic Regression)或更复杂的机器学习模型(如XGBoost)。目的是根据客户特征,预测其违约概率(PD)。这个预测概率将是后续计算通过率和坏账率的基础。
  3. 定义决策规则:设定一个分数阈值。分数高于阈值的客户通过审批,低于则拒绝。通过率就是分数高于阈值的客户比例,坏账率则是这些通过客户中实际违约的比例。阈值的变化,会同时影响通过率和坏账率,形成一条“通过率-坏账率”曲线(类似于ROC曲线)。
  4. 构建优化模型:这是最核心的部分。假设有K张信用卡和N种评分卡(N可能大于K)。我们需要决定哪K种评分卡被选用,以及它们分别的阈值是多少。目标函数Max(总利润) = Σ(通过客户数 * 单客收益 * (1 - 该评分卡坏账率)) - Σ(通过客户数 * 单客收益 * 该评分卡坏账率 * 损失率)。约束条件就是总通过率 > P_min,总坏账率 < L_max。
  5. 求解算法:由于问题规模可能很大(评分卡种类多,阈值选择连续),且是整数规划,直接求精确解非常困难。因此,启发式算法成为主流选择。例如:
    • 遗传算法(GA):将评分卡选择和阈值编码为染色体,以适应度函数(利润)为目标进行选择、交叉、变异。
    • 模拟退火(SA):通过引入“温度”概念,以一定概率接受劣解,避免陷入局部最优。
    • 粒子群优化(PSO):将每个解看作粒子,通过跟踪个体最优和群体最优来更新位置(即解)。

注意:这里有一个关键细节,利润计算中的“单客收益”和“损失率”需要根据题目说明或合理假设给出。很多队伍在这里犯了错,直接使用样本数据中的某个字段,而没有理解其经济含义。

2.2 “量子计算”的引入与解题策略分化

那么,“量子计算”在这个问题中扮演什么角色?题目并非要求参赛者真的去编写量子程序,而是将量子计算作为一种潜在的、更高效的优化算法范式来考虑和对比

这导致了解题策略的显著分化:

  • 策略一(务实派):完全专注于经典优化算法。在论文中,可以简要介绍量子计算在解决组合优化问题(如量子退火、QAOA算法)上的原理和潜力,并将其作为未来展望。重点展示用遗传算法/模拟退火求得的解的质量、稳定性和计算效率。这是大多数队伍的选择,稳妥且能充分展示建模能力。
  • 策略二(创新派):尝试将问题映射到量子计算模型。例如,将评分卡分配问题转化为一个二次无约束二进制优化(QUBO)问题。QUBO是量子退火机(如D-Wave)直接求解的标准形式。队伍需要设计巧妙的编码方式,将目标函数和约束条件都转化为一个二元变量的二次型。这一步需要深厚的数学功底。然后,可以使用经典的QUBO求解器(如模拟退火、Tabu搜索)来“模拟”量子退火的效果,并与经典算法对比。选择这条路的队伍凤毛麟角,但一旦做得好,极易脱颖而出。

2.3 实操中的“坑”与经验之谈

这道题我所在的队伍当时选择了策略一,主算法用的是改进的遗传算法。踩过最大的坑有两个:

  1. 约束处理:总通过率和总坏账率是全局约束,而遗传算法通常处理无约束问题。我们最初采用罚函数法,将约束违反量乘以一个大惩罚系数加到目标函数(利润)上。但发现惩罚系数设置非常敏感:太大,算法过早收敛到可行域边界但可能不是最优;太小,算法总在不可行域搜索。后来我们改用了可行性规则:优先比较解的可行性(是否满足约束),只有在都可行时才比较利润。这大大提升了搜索效率。
  2. 算法收敛性与效率:信用评分卡的数据量通常不小。直接在整个数据集上反复计算通过率和坏账率来评估每个解(染色体),计算开销巨大。我们采用了分层抽样的技巧:从全量数据中按比例抽取一个稳定的子集用于算法迭代中的适应度评估,在最终确定几个优秀解后,再用全量数据精确计算其指标。这节省了超过70%的计算时间。

给后来者的建议:做A题,不要被“量子”吓到。它的核心依然是扎实的优化建模。清晰地将业务问题转化为数学问题,并详细阐述你的算法如何高效地求解这个问题,比强行蹭“量子”的热点更重要。如果你的团队有优化理论的强手,可以尝试QUBO建模,这是绝对的加分项;否则,把一个经典的启发式算法做深、做透、做出漂亮的收敛曲线和对比分析,同样能拿到高分。

3. B题:城市轨道交通列车时刻表优化——在效率与鲁棒性之间走钢丝

B题聚焦于城市轨道交通的运营调度,这是一个非常经典的运筹学问题。题目要求基于实际的客流数据,优化列车的停站方案和时刻表,以最小化乘客的总等待时间。听起来很明确,但实际做起来,你会发现它处处是细节,考验的是对复杂系统建模的细致程度对多目标平衡的把握

3.1 问题拆解:从乘客流到列车流

这道题可以分解为几个相互关联的子问题:

  1. 客流需求分析:题目会提供各个车站在不同时间段的进出站客流数据(OD数据)。第一步就是分析客流的时空分布特征:早高峰方向性明显吗?哪些站点是客流大站?乘客的期望到达时间分布如何?这决定了我们的时刻表必须是非均匀的,要在高峰时段加密班次。
  2. 列车运行建模:这是物理基础。需要考虑到列车区间运行时间、停站时间、折返时间、最小发车间隔(追踪间隔)、线路容量(最多同时有多少列车)等约束。通常可以用事件-活动网络来建模,将列车的到达、出发、停靠、折返都视为事件,事件之间的过程(如运行、停站)视为活动,活动有固定的或可变的时间。
  3. 乘客等待时间计算:这是目标函数的核心。乘客到达站台是随机的(通常假设服从泊松分布)。当一列车到达时,它能带走站台上等待的、且目的地在该列车停站范围内的乘客。乘客的等待时间就是他到达时刻与下一班能乘坐的列车出发时刻之差。这里的关键是,列车跳站(大站快车)策略会直接影响每个乘客的可选车次
  4. 优化模型建立:决策变量包括每列车的发车时间、每列车在每个站的停站与否(0-1变量)。目标函数是Min(所有乘客等待时间之和)。约束就是上述的运行约束。这同样是一个大规模、非线性、混合整数的优化问题。

3.2 核心挑战:跳站策略与时刻表的协同优化

这道题最精彩也最困难的部分,在于“停站方案优化”与“时刻表优化”是强耦合的。你不能先固定一个再优化另一个。

  • 如果只优化时刻表,不优化跳站:那么在客流不均的线路上,快车无法快速疏运长途乘客,站台累积压力大。
  • 如果只设计跳站模式,不优化时刻表:可能导致快慢车冲突,快车追上慢车,或者乘客在站台等待时间因为车次间隔不合理而变长。

因此,高级的解法会采用双层优化联合优化的思路:

  • 上层:优化列车时刻表(发车间隔)。
  • 下层:在给定时刻表下,优化每列车的停站方案(是一个组合问题)。
  • 两层之间迭代,直到目标函数收敛。或者,将两者统一建模,用智能算法同时优化。

3.3 仿真:验证模型不可或缺的一环

由于问题复杂,很难求得解析解或保证最优解。因此,基于离散事件的仿真成为了验证方案优劣的黄金标准。你需要编写一个仿真程序:

  1. 按照你生成的时刻表和停站方案,模拟列车运行。
  2. 按照客流数据(或生成的随机客流),模拟乘客到达。
  3. 模拟乘客上车规则(先到先上,容量限制)。
  4. 统计每个乘客的等待时间、旅行时间、列车满载率等指标。

仿真的结果不仅可以计算最终的目标函数值,还能生成各种可视化图表,如“站台等待人数随时间变化图”、“列车满载率热力图”,这些都能极大地丰富论文内容,增强说服力。

提示:在仿真中,一定要考虑随机性。不要只用历史平均客流做一次仿真。应该进行多次蒙特卡洛仿真,每次客流的到达时间在期望值附近随机波动,然后取指标的平均值和置信区间。这能体现你方案的鲁棒性——一个优秀的时刻表不仅能应对平均情况,也能在一定程度上消化客流的小幅波动。

3.4 我们的踩坑实录:从理想模型到现实修正

我们最初建立了一个非常“干净”的模型,但仿真结果却很不理想:某些站台在高峰时段出现了严重的乘客滞留。排查后发现以下几个问题:

  1. 忽略了乘客的“选择行为”:我们假设乘客会乘坐第一班能到达其目的地的车。但实际上,如果站台人太多,乘客可能挤不上车(容量约束),必须等待下一班。我们的模型最初没有考虑列车的定员人数,导致低估了等待时间。
  2. 列车折返时间估计不足:在终点站,列车需要清客、换向、可能还需要等待进路。这个时间不是固定的,尤其在高峰期可能延长。我们最初给了一个固定值,导致时刻表在实际仿真中无法执行,出现列车“堵车”在终点站的情况。后来我们根据站场布局,估算了一个最小折返时间,并加入了一定的缓冲时间。
  3. 目标函数的片面性:只最小化总等待时间,可能导致算法倾向于产生大量“跳站”的快车,因为快车节省了车上乘客的时间。但这会损害被跳过的车站乘客的利益,导致他们的等待时间急剧增加,公平性有问题。我们后来在目标函数中加入了“各站乘客最大等待时间”的惩罚项,以平衡效率与公平。

经验分享:B题是一个系统工程问题。它告诉你,一个看似纯粹的数学优化问题,一旦放到真实的物理和社会系统中,就必须考虑无数的细节和权衡。解题时,一定要先搭建一个简单的、可运行的模型框架,然后通过仿真不断发现漏洞,回头修正模型。论文中如果能清晰展示这个“建模-仿真-发现问题-改进模型”的迭代过程,会比直接给出一个复杂模型更有价值。

4. C题:电商物流网络包裹需求与车辆路径规划——数据挖掘与运筹学的双人舞

C题是典型的数据驱动决策问题,结合了预测与优化两个阶段。第一部分是根据历史数据预测未来每个配送中心的包裹需求量;第二部分是根据预测的需求,规划车辆的行驶路径,以最小化成本。这非常贴近电商物流的实际业务场景。

4.1 第一阶段:需求预测——不仅仅是时间序列

题目会提供历史每日的包裹量数据。很多队伍第一反应就是用时间序列模型,比如ARIMA、Prophet。这没错,但可能不够。

  • 特征工程:除了时间本身(年、月、日、星期几、是否节假日),你还应该考虑外部因素。例如,电商平台是否有促销活动(如“618”、“双11”)?这些信息可能隐含在日期里,也可能需要你从网络搜索指数等外部数据中获取(如果允许)。星期几和节假日的效应通常非常显著。
  • 模型选择:对于单点预测,LightGBM、XGBoost这类树模型往往能很好地捕捉特征间的非线性关系,且能方便地加入外部特征。可以将时间序列问题转化为监督学习问题,用过去N天的数据作为特征,预测未来第M天的数据。当然,也可以使用更专业的时序模型,如LSTM神经网络,但它对数据量和调参要求更高。
  • 预测不确定性:优化问题最怕的就是“垃圾进,垃圾出”。如果预测不准,后续的路径规划再好也是白搭。因此,不仅要给出点预测(期望值),更要给出区间预测(如90%置信区间)。这可以通过时间序列模型的预测误差分布来估计,或者使用分位数回归森林等模型直接预测分位数。在第二阶段,可以考虑最坏情况(预测上限)来规划路径,以提高方案的鲁棒性。

4.2 第二阶段:车辆路径问题(VRP)——经典问题的变体

在获得各配送中心的需求量(可能是带不确定性的)后,问题就转化为一个带容量约束的车辆路径问题。但这里通常会有一些变体:

  • 多车型:可能有不同载重、不同成本的车辆。
  • 时间窗:配送中心可能有接收包裹的时间要求。
  • 开放式或封闭式:车辆是否必须返回出发的仓库?

建模的关键在于如何将预测的需求(可能是一个随机变量)转化为优化模型中的确定参数或约束。常见方法有:

  1. 情景法:生成几种可能的需求情景(如乐观、悲观、最可能),然后规划一条路径,使其在所有情景下的表现(如成本)的期望值最优,或者最坏情况下的成本最小(鲁棒优化)。
  2. 机会约束规划:要求车辆满足需求的概率高于某个阈值。例如,规划路径时,要求车辆访问某个配送中心时,其剩余容量足以装载该中心实际需求量的概率大于95%。

4.3 两阶段协同的进阶思路

更高阶的做法是考虑两阶段的协同。即,第一阶段的预测精度会影响第二阶段的成本。那么,是否可以在预测上投入更多资源(比如使用更复杂的模型、获取更多数据)来降低物流成本?这就形成了一个随机规划数据驱动的随机优化问题。虽然这在三天比赛中很难完全实现,但在论文中提及这种思路,并做一些简单的敏感性分析(例如,展示预测误差每增加1%,总成本平均增加多少),能显著提升论文的深度。

4.4 实操要点:从模型到代码的落地

这道题对编程实现的要求很高。你需要:

  1. 高效的数据处理管道:用Pandas熟练地清洗、聚合历史数据,构造训练特征。
  2. 可靠的预测代码:使用Scikit-learn、LightGBM等库构建并评估预测模型。注意避免未来信息泄露(不能用未来的数据预测过去)。
  3. 强大的优化求解器:对于VRP问题,如果规模不大(配送中心少),可以尝试用线性规划/混合整数规划求解器(如PuLP调用COIN-OR CBC,或商用软件Gurobi)求精确解。如果规模大,则必须使用启发式算法,如遗传算法、模拟退火、大规模邻域搜索(LNS)等。网上有很多VRP的标准算例和算法代码,可以借鉴,但必须根据题目条件进行修改。
  4. 可视化:预测结果可以用时序图展示;路径规划结果一定要在地图上画出来!这是最直观的展示方式。可以使用Python的Folium、Plotly等库。

我们的教训:我们当时过于沉迷于构建复杂的预测模型,在LSTM调参上花了太多时间,导致留给路径规划的时间非常紧张。最后只能用了一个非常基础的节约算法(Clarke-Wright)来快速生成路径,虽然可行,但缺乏优化对比。后来反思,在数模竞赛中,方案的完整性和各环节的衔接流畅度,往往比某一个环节的极致复杂更重要。应该用一个表现稳定的预测模型(如XGBoost)快速得到可靠结果,把更多精力放在设计更精巧的路径优化算法和丰富的分析上。

5. D题:航空安全风险分析——定性到定量的跨越

D题通常是偏数据分析、统计和评价类的问题。2023年的D题聚焦航空安全,通过分析历史不安全事件的数据,构建风险评估模型。这类题目的特点是数据字段多、含义复杂、需要较强的业务洞察力将定性问题定量化。

5.1 数据理解与特征构建:从报告文本中挖掘信息

题目提供的数据很可能包含结构化字段(如事件类型、发生阶段、飞机型号)和非结构化的文本字段(如事件描述)。第一步是进行深入的数据探索性分析(EDA):

  • 结构化数据分析:统计各类事件的发生频率、在不同飞行阶段(起飞、爬升、巡航、下降、着陆)的分布、与飞机型号的相关性等。绘制堆叠柱状图、热力图等。
  • 文本分析:这是难点也是亮点。可以从事件描述文本中抽取关键信息。例如:
    • 关键词提取:使用TF-IDF或TextRank算法,找出高频的、有代表性的风险词,如“发动机”、“襟翼”、“雷雨”、“鸟击”。
    • 情感/严重程度分析:虽然描述是客观的,但措辞的严重性不同。可以构建一个简单的词典,包含“轻微”、“重大”、“灾难性”等词及其权重,对描述文本进行评分,作为事件严重性的一个补充指标。
    • 主题模型:使用LDA模型,从大量事件描述中自动发现几个潜在的主题(如“机械故障”、“人为操作”、“天气影响”、“空管协调”),这有助于对风险进行更高层次的归类。

5.2 风险评估模型:多维度的综合评判

如何量化风险?风险(Risk)通常定义为事件发生可能性(Probability) × 事件后果严重度(Severity)

  1. 可能性(P)建模:可以利用历史数据,统计某个特定类别事件(如“某型号飞机在着陆阶段的发动机故障”)发生的频率,作为其概率的估计。对于数据稀疏的情况,可能需要使用平滑技术(如拉普拉斯平滑)或利用贝叶斯网络考虑因素间的依赖关系。
  2. 严重度(S)量化:严重度可能由多个维度构成:
    • 直接指标:如果数据中有“伤亡人数”、“经济损失估算”字段,可以直接使用或分级。
    • 间接推断:通过文本分析得到的情感严重度评分。
    • 专家打分:对于没有直接数据的维度,可以设计一个评分体系。例如,根据事件类型、发生阶段,参考航空安全标准(如ICAO的框架)赋予不同的严重度权重。这需要查阅资料和合理的假设。
  3. 风险值计算与排序:得到P和S后,计算R=P×S。可以对所有识别出的风险类别进行排序,找出高风险项。

5.3 风险关联与网络分析:发现系统性弱点

单独看每个风险点不够,更重要的是发现风险之间的关联。例如,“恶劣天气”可能同时导致“飞行员操作压力增大”和“能见度降低”,进而共同引发“进近不稳定”的风险。可以使用关联规则挖掘(如Apriori算法)来分析哪些风险因素经常同时出现。更进一步,可以构建风险网络图,节点是风险因素或事件类型,边的权重是它们共现的强度或条件概率。通过网络分析算法,可以找到网络中的关键节点(中心性高的风险),这些是安全体系中的系统性弱点。

5.4 提出预警与改进建议:从分析到决策

模型的结果最终要服务于决策。你的论文应该能回答:

  • 当前最高风险是什么?(列出Top 5或Top 10的风险场景)。
  • 这些风险有什么共性?(例如,是否多发生在特定阶段、特定机型、特定航空公司?)
  • 如何预警?可以设计一个简单的预警指标。例如,当某个月份内“人为因素”相关的事件数量超过历史阈值,或“发动机”相关关键词在报告中的出现频率突然升高时,系统发出预警。
  • 如何改进?建议需要具体。针对“着陆阶段的不稳定进近”高风险,建议可以包括:“加强飞行员在模拟器上的风切变和复飞程序训练”、“优化进近航道的设计”、“提升机场地面监测设备对低空风场的探测能力”。

我们的心得:做D题,像是一个“数据侦探”的工作。你需要从海量、可能杂乱的数据中,通过多种分析工具的交叉验证,讲出一个逻辑自洽、有说服力的“安全故事”。它不追求模型的复杂,但追求分析链条的完整性、逻辑的严谨性和结论的实用性。我们当时花了大量时间在数据清洗和特征构建上,特别是对文本描述的手工标注和分类,虽然辛苦,但由此构建的特征在后来的模型中都起到了关键作用。记住,在评价类题目中,清晰、美观、信息量大的图表(如风险矩阵图、网络关系图、地理分布图)是你论文最有力的武器。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 5:37:51

易宝支付集成金蝶云星空解决方案

业务背景源系统成集云目标系统易宝支付金蝶云星空企业通过易宝支付平台处理在线支付、转账及结算业务&#xff0c;同时使用金蝶云星空进行财务核算与业财一体化管理。两套系统数据独立、流程割裂&#xff0c;导致支付数据人工导出录入效率低、转账记录核对复杂、多账户资金归集…

作者头像 李华
网站建设 2026/8/14 5:36:33

LaneDetection_End2End项目全解析:从ICCV 2019论文到实战落地

LaneDetection_End2End项目全解析&#xff1a;从ICCV 2019论文到实战落地 【免费下载链接】LaneDetection_End2End End-to-end Lane Detection for Self-Driving Cars (ICCV 2019 Workshop) 项目地址: https://gitcode.com/gh_mirrors/la/LaneDetection_End2End LaneDet…

作者头像 李华
网站建设 2026/8/14 5:34:58

安卓Magisk Root安装与配置全指南:从解锁Bootloader到模块管理

1. 从解锁到Root&#xff1a;为什么我们需要Magisk&#xff1f;如果你玩安卓手机有一段时间了&#xff0c;肯定听过“Root”这个词。它意味着获取安卓系统的最高管理员权限&#xff0c;就像Windows电脑上的Administrator或者Linux上的root用户。有了这个权限&#xff0c;你就能…

作者头像 李华
网站建设 2026/8/14 5:34:26

主流代码编辑器深度横评:从VS Code到Vim,如何选择与高效配置

1. 项目概述&#xff1a;为什么代码编辑器是程序员的“主战场”聊到写代码&#xff0c;你第一个想到的工具是什么&#xff1f;对于绝大多数开发者而言&#xff0c;答案不是某个复杂的IDE&#xff0c;而是一个更基础、更灵活的存在——代码编辑器。它就像作家的笔&#xff0c;画…

作者头像 李华
网站建设 2026/8/14 5:34:20

谷歌 Pixel 11 升级:存储翻倍、性能提升,价格上涨是否值得?

谷歌 Pixel 11 评测&#xff1a;升级是否值得&#xff1f; 谷歌 Pixel 9 和全新的 Pixel 11 有很多相似之处&#xff0c;比如都是 6.3 英寸的机身尺寸和 12GB 的运行内存&#xff08;RAM&#xff09;。不过&#xff0c;全新的谷歌 Pixel 11 基础存储容量翻倍&#xff0c;处理器…

作者头像 李华
网站建设 2026/8/14 5:34:15

数学建模竞赛:从问题拆解到模型构建的实战指南

1. 从“思路分享”到“独立解题”&#xff1a;国赛备赛的核心路径解析每年一到全国大学生数学建模竞赛&#xff08;简称“国赛”&#xff09;的赛题发布季&#xff0c;网络上各种“思路分享”、“参考代码”的帖子就会如雨后春笋般冒出来。标题里带着“已出”、“免费分享”的字…

作者头像 李华