C++ 與 Lua 交互實戰(二):嵌入 Lua 腳本引擎
1. 基礎嵌入流程 lua_State *L = luaL_newstate(); luaL_openlibs(L); // 打開標準庫 while (true
HDU 3061:Battle(戰鬥規劃——最大權閉合子圖 / 最小割)
問題:N 座城市,M 條拓撲依賴 (攻占 b 才能攻占 a)。每城有收益/損失值。選擇攻打子集最大化總收益,滿足依賴約束。 模型轉化 依賴關係構成有向圖 (a→
HDU 2602:Bone Collector(集骨者——01 背包模板題)
問題:N 件物品,體積 V,每件重量 w_i、價值 v_i,每件最多取一次,求最大總價值。標準 01 背包。 代碼 #include #include us
九度 OJ 王道論壇研招練習賽第三場:切蛋糕幾何與座位 DP 詳解
題目 1551:切蛋糕(幾何 + 二分) 半徑 R 圓餅,切一刀分成面積比 r:1 兩部分,求切痕長度(弦長)。 推導:設切痕對應圓心角 2θ,面積差對應扇形減
HDU 1114:Piggy-Bank(豬儲蓄罐——完全背包求最小價值)
問題:存錢罐空重 W1、滿重 W2,容量 V = W2-W1。n 種硬幣,每種價值 v_i、重量 w_i(無限供應)。求恰好裝滿罐子的最小總價值,不可能輸出 T
LeetCode 解題:Remove Duplicates from Sorted Array II(允許最多兩個重複)
題目:有序數組中移除重複元素,使每個元素最多出現兩次,返回新長度,原地修改數組。例:[1,1,1,2,2,3] → [1,1,2,2,3] 長度 5。 單次遍歷
C++ 數據結構知識圖譜:線性與非線性結構總覽
1. 隊列 先進先出 (FIFO),如排隊買票。 鏈式存儲:頭尾指針,入隊尾插,出隊頭刪。 2. 二叉樹 定義:空樹或根節點 + 左右不相交子樹。有序結構
BZOJ 1026:[SCOI2009] Windy 數(數位 DP 計數)
問題:Windy 數定義為無前導零、相鄰數字差 ≥ 2 的正整數。查詢 [A, B] 區間內 Windy 數個數 (B ≤ 2e9)。 數位 DP 思路 定義
HDU 3879:Base Station(基站建設——最大權閉合子圖 / 最小割)
問題:n 個候選基站,建設成本 P_i(負為收益)。m 個需求,若 A_i 和 B_i 互通則獲利 C_i。選擇建設子集最大化總利潤。 最大權閉合子圖模型 源
UVA 1474:Evacuation Plan(撤離規劃——DP 最小匹配距離)
問題:n 個施工隊、m 個避難所 (n ≥ m),各自位置已知。每隊分配到一個避難所,每所至少一隊,最小化總移動距離。 DP 設計 將施工隊與避難所按位置排序。
ZOJ 3488:Conic Section(圓錐曲線判別——判別式法)
問題:給定二元二次方程 Ax² + Bxy + Cy² + Dx + Ey + F = 0 的係數,判斷曲線類型:圓、橢圓、拋物線、雙曲線。 判別式法 計算 Δ
Ural 1287:Mars Canals(火星運河——四方向連續最大長度 DP)
問題:N×N 網格,每格為 S 或 s。求四個方向(左、左上、上、右上)上同字符連續最大長度,比較 S 與 s 的最大值,輸出獲勝字符(大寫 S / 小寫 s
HDU 4764 Stone 博弈詳解(模運算必勝策略)
同 ID 211779,補充更詳細的數學證明。 遊戲建模 雙方輪流在 [1, k] 範圍增加計數器,先達到 ≥ N 輸。等價於:從 0 開始,雙方輪流加 1~k
CSU 2013 10 月月賽題解匯總(數學、SPFA、卡特蘭數、分組背包)
四道代表題目完整解析: 1. 數學題 (ID 1318) 求最小 k 使 = n。直接模擬倍增計數。 while ((num*2)-1 < n) { ans++