LeetCode Longest Consecutive Sequence & First Missing Positive:O(n) 雙哈希集合解法
LeetCode 經典數組問題:最長連續序列與首個缺失正整數 問題一:Longest Consecutive Sequence (LC 128) 給定無序整數
Codeforces 318C Bear and Poker:質因數分解視角下的數字等值判定
Codeforces Round #318 C. Bear and Poker 完整解析 問題描述 n 個數 a[i],每個數可無限次乘以 2 或 3。問能否
Codeforces 318D Bear and Blocks:從暴力模擬到 O(n) 貪心優化
Codeforces Round #318 D. Bear and Blocks 完整解析 問題描述 有 n 堆方塊,高度為 h[i]。每次操作可同時移除所有
C++ 指針與引用完整對比:核心區別、底層實現與最佳實踐指南
C++ 指針 vs 引用:從語法糖到底層實現的深度剖析 核心區別速查表 特性指針引用 本質獨立實體,佔用內存存儲地址變量別名,不佔用額外內存(通常) 初始化
C++ 內聯函數與虛函數深度解析:為什麼虛函數通常不能內聯?
內聯函數與虛函數:編譯期優化與運行期多態的博弈 核心結論 虛函數在多態調用時無法內聯,但靜態調用(非多態)可以內聯。 根本原因對比 特性內聯函數虛函數 決
LeetCode Spiral Order:矩陣螺旋遍歷的多種實現與邊界處理技巧
LeetCode Spiral Order:矩陣螺旋遍歷完整攻略 問題描述 給定 m×n 矩陣,按順時針螺旋順序返回所有元素。例如: 輸入: [[1,2,3]
LeetCode Word Break II:DFS + 備忘錄剪枝優化全解析
LeetCode Word Break II:從暴力 DFS 到剪枝優化的完整演進 問題描述 給定字符串 s 和單詞字典 wordDict,在 s 中添加空格
HDU 1565 方格取數:最大權獨立集與最小割的網絡流建模
HDU 1565 方格取數:從最大獨立集到最小割的轉化 經典的棋盤取數問題:在 N×N 方格中選取數字,不能選取相鄰格子,求最大權和。這本質是二分圖上的最大權獨
C++ 字符串處理實用工具庫:分割、合併、替換、去除空白與大小寫轉換
C++ 高性能字符串處理函數庫詳解 字符串處理是工程項目中最高頻的操作之一,尤其在自然語言處理、文本分析等領域。C++ 標準庫提供的字符串功能相對輕量,不像 P
ZOJ 3871 Convex Hull:凸包問題的高效解法與代碼實現
ZOJ 3871 Convex Hull:凸包問題深度解析 凸包是計算幾何中的經典問題,給定平面上一組點,求能包含所有點的最小凸多邊形。ZOJ 3871 要求枚
hihoCoder 1225 向日葵:凸包邊期望值與概率幾何
題目 給定 N 對點 (A_i, B_i),每對隨機選一個點(概率 1/2)。求由所有選中點構成的凸包周長期望值。 核心思路:邊貢獻期望線性化 凸包周長 =
LeetCode 2 兩數相加:鏈表逐位相加帶進位
題目 兩非空鏈表表示逆序存儲的非負整數,逐位相加返回和鏈表(亦逆序)。 例:(2→4→3) + (5→6→4) = 7→0→8(342+465=807) 思路
HDU 3524 Perfect Squares:模 2^n 完全平方數個數公式與模逆元
題目 求模 2^n 下不同完全平方數的個數 f(n),輸出 f(n) mod 10007。n < 2×10^9,T ≤ 200。 規律發現 打表觀察: n
HDU 3063 Play Game:大數模運算與前綴和周期性
題目 孩子編號 i 手持數字 i(i+1)(i+2)。第 n 個孩子需報出前 n 個孩子數字之和模 9999。n ≤ 10^100(超大數)。 數學推導 S(
HDU 2651 Spring Festival Couplets:模式哈希配對計數
題目 給定 n 個對聯字符串(大寫字母,長度 ≤ 8),若兩字符串「模式相同」則可配對。模式定義:相同字母對應相同字母(如 AABBCCDD 與 BBDDEEF
C++ 數組長度獲取與作為函數參數傳遞的陷阱
問題:sizeof 在函數內失效 int len(int a[]) { return sizeof(a)/sizeof(a[0]); } // 錯誤! int
LeetCode 排列序列:Cantor 展開逆運算 O(n²) 解法
題目 給定 n、k,返回 {1,2,...,n} 全排列中第 k 個排列(1-indexed)。 數學原理:階乘進制(Cantor 展開逆運算) 第 k 個排
LeetCode 179 最大數拼接:自定義比較器排序
題目 給定非負整數數組,重新排列順序拼接成最大的數。結果可能很大,返回字符串。 例:[3,30,34,5,9] → 9534330 核心:自定義比較規則 對任