LeetCode 165 Compare Version Numbers - 版本號字符串解析比較
問題要求 比較兩版本號字符串 version1、version2,按 . 分割逐段比較整數大小。缺失段視為 0。返回 1/0/-1。 方法一:預分割再比較 v
HDU 4336 Card Collector - 狀態 DP 與容斥原理雙解期望收集時間
問題描述 n 種卡片 (n≤20),每次購買獲得第 i 種概率 p_i (可能有 p_0 獲得無用卡)。求集齊所有卡片的期望購買次數。 方法一:狀態壓縮 DP
Go 語言實現類 C++ 多態 - Interface 與 Struct 組合模式
Go 無類但有多態 Go 通過 struct 定義數據,interface 定義行為契約。隱式實現:結構體實現接口所有方法即視為實現該接口,無需聲明。 核心代
Codeforces 510C Fox And Names - 拓撲排序判斷字母表順序
問題建模 給定 n 個字符串,問是否存在字母順序使其按字典序排序。相鄰字符串首個不同字符決定順序關係,構建有向圖拓撲排序。 圖構建規則 遍歷相鄰字符串對 s
POJ 1836 Alignment - 雙向最長上升子序列求最少移出士兵
問題轉化 刪除最少士兵,使剩餘序列先嚴格遞增後嚴格遞減 (山脈形)。等價於保留最長「先增後減」子序列,即 max(LIS[i] + LDS[i] - 1) 或
HDU 4362 Dragon Ball - DP 絕對值優化 O(m·n) 期望最小能耗
問題建模 m 期 (≤50),每期 n 顆龍珠 (≤1000),位置 x、吸收能量 v。初始位置 x₀。每期必取一顆,移動消耗 |x-y|,總消耗最小化。 朴
UVA 699 The Falling Leaves - 二叉樹垂直投影水平位置累加
問題建模 二叉樹節點值即落葉數,左右子水平位置相對父節點 ±1。垂直落地後同水平位置葉子疊加,輸出從左到右各堆葉子總數。輸入為前序序列,-1 表空節點。 一維
UVA 208 Firetruck - 回溯 + 並查集剪枝找所有路徑
問題描述 消防車從 1 號路口出發,給定目標路口 n 及開放道路雙向邊,找出所有不重複經過路口的 1→n 路徑,按字典序輸出並統計總數。路口 ≤ 20。 回溯
LeetCode Recover Binary Search Tree - 中序遍歷恢復交換節點
問題分析 BST 兩節點被錯誤交換,恢復樹結構不變。中序遍歷 BST 應遞增,交換導致兩處逆序。找到兩個錯誤節點交換值即可。 O(n) 空間解法:中序收集 +
BZOJ 1443 JSOI 2009 Game - 二分圖博弈與最大匹配應用
問題建模 m×n 網格有障礙,先手放棋,雙方輪流移動到相鄰無障礙未訪問格子,無法移動者負。判斷先手必勝策略及所有必勝起始位置。 核心定理:二分圖博弈獲勝條件
BZOJ 3585 mex - 莫隊算法 + 分塊優化區間 mex 查詢
問題定義 數組長度 n,m 次查詢區間 [l, r] 的 mex (最小未出現非負整數)。n, m ≤ 2×10⁵,數值 ≤ n。 莫隊算法框架 查詢按塊排
BZOJ 1269 文本編輯器 - Splay 树經典實現
問題建模 維護字符序列,支持:移動光標 (M/P/N)、插入 (I)、刪除 (D)、翻轉區間 (R)、查詢字符 (G)。序列長度 ≤ 2×10⁶,操作數 ≤ 1
SGU 230 Weighings - 拓撲排序模板題解析
問題轉化 給定 n 點 m 條有向邊,求經過所有點的路徑並輸出每點的訪問序號。本質是 拓撲排序 求合法拓撲序列。 Kahn 算法流程 計算所有點入度 入度為
易語言模塊:一條命令實現線上充值直達支付頁面
模塊功能 封裝註冊寶網絡驗證平台充值接口,單函數調用直接彈出支付頁面,支持多種卡類型與支付渠道。 接口定義 .版本 2 .子程序 在線充值, 邏輯型, 公開
C++ 面向對象核心三大支柱:封裝、繼承、多態深度解析
從面向過程到面向對象的演進 軟件危機背景下,面向對象 (OOP) 通過更貼近人類認知的建模方式,解決大型系統維護難、復用低、擴展困難等問題。C++ 在 C 基礎
C++ const 變量賦值報錯深度分析 - 從編譯錯誤到潛在邏輯漏洞
現象復現 char** a3 = nullptr; const char** b3 = a3; // error: invalid conversion fro
字符串在 Unicode、MBCS 編碼下的長度差異詳解
編碼基礎概念 SBCS (單字節字符集):如 ASCII,每字符 1 字節,以 \0 結束 Unicode:固定 2 字節 (UTF-16) 編碼所有字符,稱
PAT 03-1 二分法求三次多項式單根 - 數值計算實戰
題目要求 給定三次多項式 f(x) = a₃x³ + a₂x² + a₁x + a₀ 及區間 [a, b],保證區間內存在唯一單根 (即 f(a)f(b) <