HDU 1305 Immediate Decodability:字典樹判定無前綴碼組
題目大意 給定多組二進位編碼集合(每組以單獨 9 結束),判斷是否「即時可解碼」:即集合中任一編碼不得是另一編碼的前綴。輸出 Set k is (not) im
九宮格(魔方陣)構造演算法:奇數階輪換法完整解析
問題定義 給定奇數 n,構造 n×n 矩陣,填入 1~n²,使每行、每列、兩條主對角線和相等(即魔方陣)。 構造規則(Siamese Method / 輪換法
LeetCode atoi 完整實作:字串轉整數的邊界處理藝術
題目要求 實現 atoi:忽略前導空白,可選正負號,讀取連續數字字元轉為整數,非數字停止。溢出返回 INT_MAX (2147483647) 或 INT_MIN
POJ The Clocks(暴力搜尋)解題詳解
題目大意 給定 3×3 矩陣代表 9 隻時鐘,狀態 0~3 對應 12/3/6/9 點。有 9 種操作,每種操作影響特定時鐘順時針轉 90°(狀態 +1 mod
二叉樹遍歷完全指南:遞歸與非遞歸(堆疊)實作對照
前言 二叉樹的前序、中序、後序遍歷是資料結構基石。遞歸寫法直觀但受限於呼叫堆疊深度;非遞歸利用顯式堆疊模擬遞歸過程,更適合工程落地。本文提供 Java 完整實作
拓撲排序經典雙題解析:HDU 1285 排名確定與 HDU 2467 獎金分配
HDU 1285 確定比賽名次 題目重述 N 隊比賽,已知 M 場結果(P1 勝 P2),要求輸出一個合法排名:勝者必在敗者之前。若多解,編號小者優先。 解法
ATL 連接點簡化實作:模板類自動管理 Sink 介面
背景 COM 連接點讓物件能主動回呼客戶端。傳統手寫 IConnectionPointContainer、IConnectionPoint、Advise/Una
Visual Studio 中 Boost 巨集重複定義警告 (C4005) 徹底解決方案
問題現象 在 VS2010 以上版本使用 Boost 多執行緒庫編譯時,大量出現 warning C4005: INT8_C : macro redefinit
Lua 與 C++ 綁定的六大天然難題深度解析
前言 研究 LuaTinker 源碼並嘗試自寫綁定庫時,發現 C++ 與 Lua 互操作存在多個本質難點。這些問題並非特定庫的缺陷,而是源於兩種語言型別系統、記
VC++ 多文檔模板應用程序開發實戰:同時支援 TXT 與自訂 BUB 格式
前言 標準 MFC AppWizard 生成的 MDI 程式僅支援單一類型文檔。若需同時編輯純文字(TXT)與自訂二進位格式(如本文的 BUB),需手動擴充文檔
Codeforces 439B 解題報告:最小化教學時間
題目大意 給定一個學生需要學習 n 門課程,每門課程包含若干章節。學習第一門課程的每個章節需要 x 小時,之後每學完一門課程,後續課程的每章節學習時間減少 1
POJ 3270 Cow Sorting:置換群理論在最小交換代價中的應用
問題重述 給定 n 個整數,需排序為遞增序列。每次交換兩數代價為兩數之和。求排序完成的最小總代價。 置換群核心理論 將初始序列到有序序列的映射視為置換。置換可
HDU 1219 AC Me:字母頻率統計入門題
經典字符串處理:讀多行輸入(每行長度 ≤ 100,000),統計每行中 a-z 出現次數,按格式 字母:次數 輸出,每行結束輸出空行。 算法 整行讀取 ge
Windows 進程管理類:啟動、終止、遍歷、模塊枚舉完整實現
類設計概覽 封裝 Windows Toolhelp32 API,提供四大核心功能: startProcess:啟動指定程序 terminate
BZOJ 1088 [SCOI2005] 掃雷 Mine:一維 DP / 狀態枚舉
n×2 棋盤,第一列可能有雷,第二列無雷但顯示周圍 8 連通雷數(實際只受第一列同行、上下行影響)。給第二列數字,求第一列雷分布方案數。n ≤ 10000。
跑得快計分程序:HUNNU Contest 11458 題解
題目背景 四人玩「跑得快」,每人 12 張牌。最先出完獲勝,其餘按剩餘牌數 × 0.2 元計算輸贏,向 0.5 取整(0.4→0.5, 0.2→0)。特殊規則:
BZOJ 1084 [SCOI2005] 最大子矩陣:DP + 狀態壓縮
給定 n×m 矩陣(n≤100, m≤2, k≤10),選 k 個不重疊子矩陣,最大化元素值之和。 關鍵觀察:m ≤ 2 寬度極小,僅 1 或 2 列,可按列