九度OJ 1003:大整數相加——字符串解析與模擬加法實現
題目背景與分析 九度OJ 1003「A+B」看似簡單,實則考察大整數加法的實現。由於輸入數字可能超出標準數據類型範圍,題目要求將輸入視為字符串處理,剔除非數字字
HDU 1505 City Game:動態規劃求最大全零子矩陣面積
題目轉化 給定 n×m 網格,每格為 F(空地)或 R(障礙)。求僅包含 F 的最大矩形面積,輸出面積 × 3。 核心思路:直方圖最大矩形 + 行掃描 逐行掃
IDE 字體設置與 Java 依賴缺失問題排查筆記
現象一:IntelliJ IDEA 字體渲染異常 編輯區字體顯示模糊或錯位,影響閱讀體驗。 解決步驟 打開 File → Settings(Windows/
ACM 拼成最小的數:自定義比較器排序字符串
問題描述 給定 N (2≤N≤10000) 個正整數(每個 ≤ 10⁹),將它們拼接成一個盡可能小的多位整數。輸出時每 1000 字符換行。 核心比較規則 對
九度 OJ 1054 字符串內部排序:ASCII 碼升序重排
題目要求 讀入字符串(長度 ≤ 200),將其字符按 ASCII 碼從小到大重新排序,輸出新字符串。多組輸入,EOF 結束。 解法:直接排序 C++ std:
HDU 4545 魔法串:貪心匹配與字符轉換規則
題目重述 給定目標串 A(小西)、源串 B(小明,|B| ≥ |A|)及 m 條單向轉換規則 x → y。 對 B 可執行任意次操作:刪除任意字符、或將字符按規
HDU 3346 Lucky Number:三重條件判定幸運數字
題目規則 一個非負整數 n 是「Lucky」當且僅當滿足以下任一條件: n % 8 == 0(8 的倍數) 各位數字之和 % 8 == 0 各位數字平方和 %
POJ 3189:枚舉區間 + Dinic 最大流判定可行性
題目大意 有 n 隻牛、m 個牛棚。每隻牛有一偏好棚序列(長 m),每個棚有容量 w[i]。需選擇一個連續區間 [L, R],使所有牛都能在區間內的偏好棚中安置
計算 N! 末尾零的個數:數學規律與 O(log N) 算法
問題來源 經典面試題:給定 n,求 n! 十進制表示末尾連續 0 的個數。 例如 10! = 3628800 → 2 個 0;100! → 24 個 0。 核
鏈式隊列(Linked Queue)C 語言完整實現:初始化、入隊、出隊與遍歷
數據結構定義 typedef int ElemType; typedef struct LQNode { ElemType data; str
C++ 運算符重載實戰:下標運算符 [] 實現安全數組
為什麼要重載 operator[]? C++ 原生數組不做越界檢查,輕易導致緩衝區溢出。通過封裝類並重載 operator[],可在訪問時自動檢查下標,超出範圍
POJ 1384 Piggy Bank:完全背包求最小金額
題目大意 存錢罐空重 a、滿重 b,硬幣重量差 V = b - a。有 n 種硬幣,第 i 種面值 P[i]、重量 W[i],每種無限枚。求恰好裝滿重量 V 時
Dijkstra 演算法 C++ 模板代碼:單源最短路徑詳解與實現
演算法核心思想 Dijkstra 以起點為中心,維護兩個集合: S:已確定最短路的頂點(永久標號) V-S:未確定頂點(臨時標號) 每輪從 V-S 中取 d
C++ 檢測本地端口占用:調用 netstat/tasklist 解析進程名
問題場景 需要在 Windows 平台上,給定端口號(如 8080),查詢佔用該端口的進程名稱(如 thread.exe)。C++ 標準庫無直接 API,需借助
HDU 3998:最長上升子序列(LIS)與計數的貪心標記法
題目回顧 給定長度 ≤ 500 的數列,求最長上升子序列(LIS)的長度,以及長度達到該最大值的不同 LIS 條數。標準解法為網絡流建模,但本文介紹一種利用測試
最大堆排序:原理、遞歸實現與 C 語言代碼詳解
什麼是最大堆? 最大堆是一種完全二叉樹結構,滿足任意父節點的值均大於或等於其左右子節點的值。堆排序利用此特性,將無序數組轉化為最大堆,再反覆將堆頂最大元素與末尾
HDU 1546:成語接龍遊戲的最短路徑解法
題目背景與核心思路 HDU 1546「Idiomatic Phrases Game」是一道經典的圖論應用題。題目給定一組字串與對應的整數權值,要求找出從第一個字