杯數(shù)學(xué)建模A題備賽全攻略:機理建模與優(yōu)化實戰(zhàn))
2026年華數(shù)杯數(shù)學(xué)建模競賽里A題通常被看成整張賽題中最能拉開差距的一道題。它不像部分題目那樣數(shù)據(jù)清洗完就能跑出不錯的結(jié)果A題更多要求你對物理過程、幾何關(guān)系、資源分配或者動態(tài)系統(tǒng)本身做機理建模代碼只是最后一公里。換句話說這道題真正考驗的是“把實際問題翻譯成數(shù)學(xué)語言”的能力而不是“誰寫的代碼更花哨”。這篇文章不是要給你一份可以直接提交的成品論文而是把從賽題發(fā)布、拆題、建模、寫代碼、跑結(jié)果到成稿提交的完整鏈路拆開講一遍。適合第一次參加華數(shù)杯的本科生也適合跨專業(yè)組隊、建?;A(chǔ)偏弱但想沖A題的隊伍參考。如果你已經(jīng)有幾次國賽或省賽經(jīng)驗可以直接跳到第4章以后重點看代碼落地、論文排版和臨場排查那幾節(jié)。我不打算堆功能清單也不會用什么“全網(wǎng)天花板”之類的說法。真正有用的東西很簡單知道題目要你算什么知道用什么方法算知道怎么把結(jié)果說明白。1. 先把A題當(dāng)“機理題”看而不是當(dāng)“編程題”看1.1 A題和B題、C題的差別在哪里很多隊伍拿到賽題后第一反應(yīng)是“這題需要跑什么模型”。這是個常見誤區(qū)。數(shù)學(xué)建模競賽的選題本質(zhì)上是在選“問題類型”不是在選“算法庫”。拿A題來說它通常具備幾個特征問題描述里有明確的研究對象比如某個運動體、某個生產(chǎn)系統(tǒng)、某個資源分配過程。題目要求得到的不只是趨勢圖而是具體數(shù)值、具體方案、具體判斷結(jié)論。輸入數(shù)據(jù)往往不完整需要你先做假設(shè)再通過模型推算出缺失信息。結(jié)果必須能用物理意義或業(yè)務(wù)邏輯解釋通純統(tǒng)計擬合很難兜底。相比之下B題和C題有時候可以靠數(shù)據(jù)挖掘、統(tǒng)計分析甚至深度學(xué)習(xí)硬做。A題如果不懂機理套深度學(xué)習(xí)模型通常效果不好。因為訓(xùn)練數(shù)據(jù)不足因為輸出結(jié)果缺乏物理約束也因為評委一眼就能看出你沒有理解模型假設(shè)。我的建議很直接你們隊里至少要有一名隊員能花兩小時把題目里的物理過程、幾何關(guān)系、業(yè)務(wù)流程讀明白并且能畫出一張結(jié)構(gòu)圖。畫不出來后面所有工作都會飄。1.2 從近兩年競賽題目看A題常見類型從近幾年的賽題風(fēng)格看A題常見的有這么幾類幾何運動類。比如某屆全國大學(xué)生數(shù)學(xué)建模競賽A題“板凳龍”就是一個典型。這種題目看著像物理題實際難點在幾何關(guān)系推導(dǎo)。隊伍拿到題目后第一問通常要求算某一時刻的坐標(biāo)、速度或位置序列第二問才會進(jìn)入優(yōu)化比如調(diào)整間距、調(diào)整速率使某個指標(biāo)最優(yōu)。很多人第一問幾何表達(dá)式寫錯后面全盤崩潰。資源分配與空間利用優(yōu)化類。典型例子是2023年高教杯D題“圈養(yǎng)湖羊空間利用率優(yōu)化”題目要求把空間利用率、成本、繁殖周期這些約束放到同一個優(yōu)化框架里。A題也會出現(xiàn)類似情況但約束更硬、機理更強。動力學(xué)與演化過程類。這類題會讓一個系統(tǒng)隨時間演化要求你建立微分方程或差分方程。難點不在算法而在如何把題目里的離散描述變成連續(xù)模型或者把連續(xù)模型離散化后保證數(shù)值穩(wěn)定。數(shù)據(jù)加機理混合類。題目可能給你一組實測數(shù)據(jù)要求根據(jù)機理模型反推參數(shù)。這里很容易陷入“用曲線擬合代替機理建?!钡南葳?。擬合得到的參數(shù)可能非常漂亮但沒有物理意義答辯時一問就露餡。所以真正準(zhǔn)備A題時不要只學(xué)算法要訓(xùn)練一種習(xí)慣拿到題目先寫“對象-變量-假設(shè)-目標(biāo)-約束”五個詞。這個習(xí)慣比背十個模型都管用。2. 賽前準(zhǔn)備建模環(huán)境、數(shù)據(jù)讀取和論文模板一次排好2.1 2026年備賽的軟件環(huán)境可以怎么配競賽期間時間很緊不要在比賽第一天裝環(huán)境。你需要的不是最全的環(huán)境而是最穩(wěn)的組合。以我常用的組合為例Python 3.10 或 3.11配 Anaconda 管理環(huán)境。核心庫numpy、pandas、scipy、matplotlib。優(yōu)化場景可能需要scipy.optimize、pulp、ortools。如果題目規(guī)模大再考慮 Gurobi 或 CPLEX但要提前確認(rèn)許可證和安裝方式。微分方程場景scipy.integrate。論文寫作LaTeX 或者 Word 都可以。如果隊伍不熟悉 LaTeX建議 Word 加 MathType不要比賽期間臨時學(xué) LaTeX。繪圖matplotlib 足夠不一定要用復(fù)雜可視化庫。這里有個很容易忽略的問題隊伍內(nèi)部版本不一致。A同學(xué)用 pandas 2.0B同學(xué)還在用 pandas 1.3同一段代碼在不同機器上報錯臨場排查會浪費大量時間。建議賽前所有人用同一個 requirements.txt 創(chuàng)建環(huán)境或者至少統(tǒng)一 Python 大版本。conda create -n mcm python3.11 -y conda activate mcm pip install numpy pandas scipy matplotlib openpyxlopenpyxl一定要裝因為很多競賽數(shù)據(jù)文件是.xlsx格式pandas 讀取 Excel 依賴它。如果不裝pd.read_excel會直接報 ImportError。2.2 把“數(shù)據(jù)讀取-模型求解-結(jié)果繪圖”三段式框架先搭起來我見過很多隊伍比賽前三天才開始寫代碼結(jié)果第一天全在調(diào)路徑和編碼。更穩(wěn)妥的做法是賽前就把代碼框架搭成一個三段式結(jié)構(gòu)數(shù)據(jù)讀取層統(tǒng)一用 pandas 讀取 CSV、Excel 文件寫一個load_data.py。模型求解層每個問題寫一個獨立函數(shù)或腳本輸入是參數(shù)輸出是結(jié)果文件。結(jié)果展示層統(tǒng)一生成圖表和結(jié)果表格導(dǎo)出到results目錄。這樣做的好處很實際第一節(jié)寫代碼的人不關(guān)心第二節(jié)的數(shù)據(jù)格式第二節(jié)的人不關(guān)心第三節(jié)怎么畫圖。隊伍協(xié)作時接口越簡單越好。# 通用數(shù)據(jù)讀取示例不是針對具體賽題 import pandas as pd def load_data(path): if path.endswith(.csv): return pd.read_csv(path) elif path.endswith(.xlsx): return pd.read_excel(path) else: raise ValueError(Unsupported file format)這里的load_data本身并不復(fù)雜但把它獨立出來能避免一個問題同一份賽題數(shù)據(jù)不同人用不同方式讀取結(jié)果對不上。比賽期間少一次扯皮就多兩個小時寫正文。3. 拿到賽題后的兩小時先拆題再定模型3.1 題目信息如何轉(zhuǎn)成變量、假設(shè)和目標(biāo)函數(shù)2026華數(shù)杯A題同樣要走這一步。賽題公布后第一件事不是查資料而是四個人一起讀題然后每個人獨立寫出三行話這個問題在做什么輸入是什么輸出是什么。接下來把它們匯總成一張表。這張表我建議包含四列已知條件題目明確給出的數(shù)據(jù)、參數(shù)、單位。未知量題目要求你計算或優(yōu)化的對象。約束條件需要考慮的限制比如時間窗、容量、物理范圍、設(shè)備數(shù)量。假設(shè)條件題目沒說但你需要補充的簡化條件。例如題目提到“某運動過程中速度恒定”那這是一個強約束。如果題目只說“運動近似穩(wěn)定”那你需要補充假設(shè)并說明原因。寫進(jìn)論文后評委能看懂你的思考過程。很多隊伍總想建一個“高級模型”結(jié)果把一個優(yōu)化問題硬套成神經(jīng)網(wǎng)絡(luò)模型。其實A題的高分關(guān)鍵不是模型新穎而是模型和題目嚴(yán)絲合縫。假設(shè)寫得越清楚模型越容易被理解也越容易被驗證。3.2 題目像幾何運動類時怎么建模如果題目涉及一塊物體沿軌道運動、某個結(jié)構(gòu)展開或折疊、板凳龍游動這類題材第一優(yōu)先考慮的是幾何關(guān)系。這類題的核心通常不是微積分而是坐標(biāo)系怎么建立。原點在哪正方向在哪。關(guān)鍵點坐標(biāo)怎么表達(dá)。例如某段圓弧的圓心角某一點的切向方向。運動學(xué)關(guān)系怎么表達(dá)。速度是標(biāo)量還是矢量角度變化率怎么求。結(jié)果如何驗證。比如用數(shù)值方法計算出來的位置是否滿足題目給定的初始位置。對于幾何運動類問題建模順序應(yīng)該是先畫圖再寫幾何關(guān)系最后才是微分方程或優(yōu)化。畫圖這一步不是浪費時間它能幫全隊快速統(tǒng)一理解。我在處理“板凳龍”這類題時會先畫出龍頭、龍身、龍尾的連接關(guān)系再把關(guān)鍵點編號然后用數(shù)組存儲每個點的位置。這樣到第二問做調(diào)整時只需要改個別參數(shù)不需要重寫整個模型。3.3 題目像優(yōu)化類時怎么建模優(yōu)化問題的標(biāo)準(zhǔn)流程是定義決策變量。寫出目標(biāo)函數(shù)。列出約束條件。判斷問題類型線性、非線性、整數(shù)規(guī)劃、動態(tài)規(guī)劃。選擇求解方法。這一步最常犯的錯誤是“目標(biāo)函數(shù)沒想清楚就寫代碼”。比如目標(biāo)明明是“在滿足最小安全間距的前提下讓總時間最小”結(jié)果代碼里只寫了時間最小安全間距卻沒有約束最終結(jié)果當(dāng)然不合理。如果目標(biāo)是成本最小、資源利用率最大、排隊時間最短建議先寫出數(shù)學(xué)表達(dá)式再確認(rèn)單位的統(tǒng)一。比如時間單位是小時還是分鐘距離單位是米還是千米。單位不統(tǒng)一靈敏度分析根本沒法看。# 優(yōu)化求解的通用思路具體模型以賽題為準(zhǔn) from scipy.optimize import minimize def objective(x): return x[0]**2 x[1]**2 cons ({type: ineq, fun: lambda x: x[0] x[1] - 1}) res minimize(objective, [0, 0], constraintscons) print(res.fun, res.x)這段代碼不是華數(shù)杯A題的通解但它演示了一個關(guān)鍵點constraints不寫進(jìn)去結(jié)果就可能違反題目要求。優(yōu)化求解器本身不會替你做物理判斷。4. 代碼怎么寫先求出一問的穩(wěn)定結(jié)果再談擴展4.1 一個適合A題的代碼目錄和主流程比賽期間代碼文件會越來越多如果不做目錄管理第二天基本就亂了。我建議每個隊伍在第一天就建立固定目錄結(jié)構(gòu)src/ data_loader.py q1/ model.py run.py q2/ model.py run.py utils/ plot.py result_io.py data/ raw/ processed/ results/ figures/ tables/ docs/ 論文正文.docx這個結(jié)構(gòu)并不復(fù)雜但能解決幾個實際問題每問的代碼獨立避免一個人改亂了另一個人還在用的函數(shù)。數(shù)據(jù)和代碼分離重新跑題時不用翻找文件。結(jié)果統(tǒng)一輸出到results目錄寫論文的人可以直接取圖表。關(guān)于運行方式我更建議每個run.py可以直接在命令行運行同時把關(guān)鍵參數(shù)放在代碼開頭并支持通過命令行參數(shù)覆蓋。python src/q1/run.py --input data/raw/data.xlsx --output results/tables/q1_result.csv這樣調(diào)整參數(shù)不用改代碼也方便記錄每次跑結(jié)果時用的參數(shù)。對比賽后寫參數(shù)說明和靈敏度分析非常有用。4.2 參數(shù)、隨機種子和輸出目錄為什么要在開頭就設(shè)計好比賽到了第二天你一定會面臨一個問題改了某個參數(shù)后之前的結(jié)果被覆蓋了想對比兩種方案的數(shù)據(jù)已經(jīng)找不回來了。解決辦法很笨但有效所有輸出文件命名時帶上參數(shù)信息或時間戳。import datetime import os output_dir results/tables timestamp datetime.datetime.now().strftime(%Y%m%d_%H%M%S) out_path os.path.join(output_dir, fq1_result_{timestamp}.csv)如果模型涉及隨機初始化、隨機抽樣、隨機梯度下降一定要固定隨機種子否則兩次運行結(jié)果可能完全不同論文里寫的數(shù)值就不可復(fù)現(xiàn)了。import numpy as np np.random.seed(42)這里要特別注意固定隨機種子只是保證復(fù)現(xiàn)不代表結(jié)果穩(wěn)定。如果模型對初始值特別敏感你要換幾個種子分別跑一次觀察結(jié)果波動范圍。如果波動太大說明模型穩(wěn)定性不足需要調(diào)整假設(shè)或約束而不是反復(fù)調(diào)隨機種子。競賽題目發(fā)布后第一問通常不會太難。我的建議是第一天下午必須把第一問完整跑通包括圖表和輸出文件。最怕的情況是隊伍在第二問上反復(fù)較勁結(jié)果第一問的結(jié)果表格都沒生成。4.3 代碼報錯時不要亂調(diào)參數(shù)先看數(shù)據(jù)形狀A(yù)題代碼報錯很大概率不是算法問題而是數(shù)據(jù)類型和形狀問題。比如Excel 讀進(jìn)來有些列是字符串需要先astype(float)。日期列被 pandas 解析成Timestamp參與數(shù)值運算時報錯。索引不連續(xù)用iloc和loc混用后取錯數(shù)據(jù)。多個表合并時重復(fù)列名導(dǎo)致拼接結(jié)果完全不對。這兩個小時里最容易踩坑的就是“讀取數(shù)據(jù)時沒有統(tǒng)一 dtype”。拿到數(shù)據(jù)后第一件事是打印df.dtypes和df.head()確認(rèn)每一列類型正確再寫后續(xù)邏輯。df load_data(data/raw/data.xlsx) print(df.dtypes)不要一看到數(shù)據(jù)量很大就急著寫復(fù)雜模型。先用小樣本跑通比如取前50行確認(rèn)每個流程都正確再全量運行。低配置電腦尤其應(yīng)該這樣做。5. 論文成稿階段最容易拉開差距的四塊內(nèi)容5.1 摘要和問題分析評委最看重的前兩屏競賽論文的摘要非常關(guān)鍵。評委通常先看摘要再決定要不要細(xì)看正文。摘要寫不好模型再漂亮也可能被壓分。摘要要回答四個問題題目要解決什么問題你采用了什么主要方法得到的關(guān)鍵數(shù)值結(jié)果是什么結(jié)論是否通過檢驗我把“關(guān)鍵數(shù)值結(jié)果”單獨提出來是因為很多隊伍摘要里全是“建立了模型”“進(jìn)行了分析”這類空話沒有具體數(shù)字。評委想看的是結(jié)果不是形容詞。摘要更合理的寫法是“本文針對A題描述的運動規(guī)劃問題建立了基于幾何約束的運動學(xué)模型。首先通過坐標(biāo)變換得到各關(guān)鍵點的位置表達(dá)式進(jìn)而構(gòu)造以總時間最小為目標(biāo)、最小安全距離為約束的非線性規(guī)劃模型。求解得到最小總時間為 xxx 秒較基礎(chǔ)方案縮短了 xxx%。對關(guān)鍵參數(shù)進(jìn)行靈敏度分析后發(fā)現(xiàn)隊形間距對總時間影響最顯著。”這樣一段話信息密度比“本文運用了多目標(biāo)規(guī)劃方法”高得多。5.2 圖表、公式和結(jié)果表格用可復(fù)現(xiàn)的方式組織論文里的圖表質(zhì)量直接影響閱讀體驗。以下是幾個常見問題圖片像素太低放大后看不清坐標(biāo)軸數(shù)字。折線圖沒有標(biāo)注每一條曲線的含義。圖表標(biāo)題只寫“圖1”沒有說明性描述。公式?jīng)]有編號后文引用時只能靠猜。建議統(tǒng)一用 matplotlib 生成矢量圖導(dǎo)出為 PDF 或高分辨率 PNG再插入論文。腳本里固定圖形尺寸和字號避免每張圖風(fēng)格不一致。import matplotlib.pyplot as plt plt.rcParams[figure.figsize] (8, 5) plt.rcParams[font.size] 11結(jié)果表格盡量用簡潔的三線表。不要把幾百行原始數(shù)據(jù)貼進(jìn)正文只需要展示不同方案、不同參數(shù)下的關(guān)鍵對比結(jié)果。5.3 靈敏度分析怎么做才能顯示結(jié)論穩(wěn)健不少隊伍把靈敏度分析當(dāng)成“參數(shù)變化結(jié)果變化”兩張圖表就完事了。這樣做不算錯但發(fā)揮不出應(yīng)有作用。更有價值的做法是找核心參數(shù)比如約束條件里的安全距離、模型里的阻尼系數(shù)、優(yōu)化里的權(quán)重。在基礎(chǔ)值附近上下浮動比如 ±5%、±10%、±20%。記錄目標(biāo)函數(shù)或輸出結(jié)果的變化比例。分析哪幾個參數(shù)是敏感參數(shù)哪幾個可以忽略。在論文里用一兩段話說清楚“當(dāng)安全間距從1.0米變化到1.5米時總時間增加8%這表明結(jié)果對安全間距較敏感實際應(yīng)用中需要精確測定該參數(shù)?!蓖ㄟ^這種方式靈敏度分析不只是“驗證穩(wěn)健性”還能給實際應(yīng)用提出建議。評委很吃這一套因為這說明你真的理解了模型而不只是跑通了代碼。6. 常見報錯、翻車現(xiàn)場和排查順序6.1 先判斷現(xiàn)象再動手不盲目改參數(shù)比賽期間最怕的不是報錯而是報錯后亂改。我見過有隊員面對“優(yōu)化結(jié)果不收斂”時把迭代次數(shù)從1000調(diào)到10000結(jié)果仍然不收斂最后發(fā)現(xiàn)是約束寫錯了方向。所以一定要建立排查順序先看現(xiàn)象是程序崩潰還是結(jié)果不合理還是運行超慢再看輸入數(shù)據(jù)路徑、讀取格式、列名、單位、時間范圍。再看環(huán)境依賴版本、Python版本、中文路徑、權(quán)限。再看參數(shù)初始值、邊界條件、約束方向、收斂閾值。最后再檢查算法本身模型選擇是否合適目標(biāo)函數(shù)是否連續(xù)約束是否沖突。這個順序看起來非常簡單實際能做到的隊伍不多。多數(shù)人一上來就改參數(shù)改完還是錯最后查出來是數(shù)據(jù)文件路徑不對。6.2 幾類高頻問題的排查方向程序直接報錯 FileNotFoundError先看當(dāng)前工作目錄。用os.getcwd()打印當(dāng)前路徑然后把文件路徑改成絕對路徑或者用相對路徑時確認(rèn)起點。Windows 下還要注意路徑分隔符。結(jié)果全是 NaN 或 Inf通常不是代碼隨機問題而是數(shù)據(jù)里有缺失值、除數(shù)為0、log里出現(xiàn)負(fù)數(shù)、exp溢出??梢韵扔胐f.isna().sum()檢查缺失值再在關(guān)鍵計算前后打印中間值。優(yōu)化求解器一直不收斂先檢查約束是否可行初始點是否在可行域內(nèi)。如果初始點離最優(yōu)解太遠(yuǎn)可以考慮先用網(wǎng)格搜索或隨機采樣生成一個合理初始值再交給優(yōu)化器。求解速度過慢A題不需要追求超大算力。如果程序運行超過一小時通常是算法復(fù)雜度太高或者循環(huán)寫得不合理。優(yōu)先用向量化計算替代for循環(huán)。如果必須循環(huán)也要限制樣本量先用小規(guī)模驗證。圖表中文亂碼Windows 下 matplotlib 最常出現(xiàn)中文亂碼。簡單處理方式是繪圖前設(shè)置中文字體。plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False如果 Linux 環(huán)境沒有 SimHei可以改用系統(tǒng)中支持中文的字體。具體方法可以在比賽前提前測一遍把字體配置記到隊伍共享文檔里。6.3 臨場分工建議誰管模型誰管代碼誰管論文三天比賽最合理的分工不是“一個人寫完所有代碼再交給另一個人寫論文”而是從第一天起三人并行。參考分工第一人負(fù)責(zé)建模推導(dǎo)寫公式和模型假設(shè)把握整體邏輯。第二人負(fù)責(zé)代碼實現(xiàn)和數(shù)據(jù)結(jié)果保證每問有輸出。第三人負(fù)責(zé)論文框架、圖表整理和摘要寫作同時每天更新“已完成結(jié)果”清單。第四個人如果存在可以做查資料、校驗結(jié)果、檢查格式、找參考文獻(xiàn)的工作。這個崗位比想象中重要因為臨到提交前兩小時格式查錯往往是最大的坑。7. 從報名到提交三天的節(jié)奏怎么安排7.1 第一天白天完成題解和第一問賽題發(fā)布后前兩小時只做拆題不寫代碼。把題目里所有關(guān)鍵詞標(biāo)出來把已知條件和未知量寫清楚。第一天晚上之前必須完成第一問的模型建立和初步求解。哪怕結(jié)果不完美也要有一個可運行版本。第一問往往是后續(xù)問題的基礎(chǔ)基礎(chǔ)不穩(wěn)后面只會越來越亂。第一問跑通后馬上生成結(jié)果表格和圖表。這一步不是給論文用也是為了防止后面改錯代碼后至少有一份參考結(jié)果能對比。7.2 第一天晚上到第二天集中攻后面幾問第二問通常是在第一問基礎(chǔ)上擴展比如引入優(yōu)化目標(biāo)、增加約束、擴大規(guī)?;蚣尤敫嘧兞?。寫代碼時盡量復(fù)用第一問的數(shù)據(jù)結(jié)構(gòu)和函數(shù)接口不要推倒重寫。如果第二問涉及大規(guī)模優(yōu)化建議先用小規(guī)模樣例驗證代碼正確性再運行完整版本。完整版本運行結(jié)束后記錄關(guān)鍵參數(shù)和運行時間。第三天上午必須停止大面積改代碼。剩下的時間只做兩件事補齊論文圖表、完善摘要和靈敏度分析。如果此時還在重構(gòu)模型提交前大概率出亂子。7.3 交卷前最后兩小時的檢查清單最后階段要檢查的點很多我把它們按優(yōu)先級排一下論文是否完整問題分析、模型假設(shè)、模型建立、求解、檢驗、結(jié)論、參考文獻(xiàn)。摘要是否包含具體數(shù)值結(jié)果。正文所有圖表是否有編號、有標(biāo)題、有解釋。代碼是否能直接運行從命令行執(zhí)行python run.py不依賴 IDE。輸出文件是否完整每問的答案表格、圖表是否都生成。文件命名是否規(guī)范論文、支撐材料、代碼文件夾是否清晰。有沒有使用絕對路徑把你的代碼發(fā)給隊友換一臺電腦測試能跑通才是真的能跑通。重復(fù)內(nèi)容清理不要保留調(diào)試代碼、注釋掉的舊版本代碼、無用的輸出文件。參考文獻(xiàn)格式是否統(tǒng)一。這份清單可以在賽前打印出來比賽結(jié)束前兩小時逐項打鉤。最后再說一點個人感受很多第一次參加數(shù)學(xué)建模競賽的同學(xué)會把大量精力花在“找一個聽起來很高端的模型”上。但真正跑完幾場比賽后你會發(fā)現(xiàn)A題的高分隊伍往往不是因為用了多復(fù)雜的算法而是把題目理解得很透徹把模型假設(shè)說得清楚把結(jié)果檢驗做得很扎實。2026年華數(shù)杯A題也一樣。無論是幾何運動、資源優(yōu)化還是動態(tài)系統(tǒng)最先拼的都是對題目的理解力其次才是建模基本功最后才是代碼速度。代碼只要結(jié)構(gòu)清晰、結(jié)果可復(fù)現(xiàn)、圖表規(guī)范就已經(jīng)超過了相當(dāng)一部分隊伍。我更建議你從現(xiàn)在開始就做三件事熟悉 Python 數(shù)據(jù)處理和分析的基礎(chǔ)操作、整理一套自己的論文模板、和隊友提前分好工。等到賽題發(fā)布那天你們要做的不是從零開始而是把提前準(zhǔn)備好的流程跑一遍。希望這篇備賽思路能幫你少走一點彎路。真到了比賽那幾天穩(wěn)住節(jié)奏比什么都重要。