POJ 3254 Corn Fields:狀態壓縮 DP 解決不相鄰選地問題
狀態定義與預處理 M 行 N 列 (≤12),每行用 N 位二進制數表示選地狀態。合法狀態:無相鄰 1(state & (state<<1) == 0)且不包含
HDU Boring Count:滑動窗口 O(n) 統計字母頻次受限子串數
問題轉化 給定小寫字母串 S (|S|≤1e5) 和 K,求子串中每種字母出現次數 ≤ K 的子串總數。等價於:對每個右端點 i,找到最小左端點 L 使 S[L
BZOJ 1176 Mokia:CDQ 分治解決二維動態區間加點查區間和
問題抽象 W×W 矩陣(W≤2e6),初始值 S(實為 0)。M≤160000 次點加操作,Q≤10000 次子矩陣求和查詢。離線處理,輸出每次查詢結果。 CD
ZOJ 3557 How Many Sets II:Lucas 定理計算大組合數取模
組合意義與公式 題目等價於求 C(n - 2m + 1 + m, m) = C(n - m + 1, m) mod p,其中 p 為質數(輸入給定)。n, m
NYOJ 24 素數距離問題:雙向搜索最近素數
算法邏輯 對每個查詢數 M (1 ≤ M < 1e6): 若 M 為素數,輸出 M 0。 否則雙向擴展距離 d = 1,2,3...(奇數 M 從 d=0 開
HDU 4407 Sum 另解:容斥 + 離線處理優化實現
HDU 4407 Sum 容斥離線解法優化版 同 207873 題,此處提供更緊湊的實現細節與優化技巧。 優化點 質因數分解預處理:線性篩預計算最小質因數
ASP.NET 無刷新頁面實現:UpdatePanel 控件詳解
ASP.NET AJAX:使用 UpdatePanel 實現局部刷新 UpdatePanel 是 ASP.NET AJAX 核心控件,將頁面區域包裹在內,觸發異
Effective C++ 條款 52:寫了 placement new 也要寫 placement delete
Effective C++ 條款 52:Placement New/Delete 配對原則 當重載帶額外參數的 operator new(placement n
POJ 2728 Desert King:最優比率生成樹與 0-1 分數規劃
POJ 2728 Desert King 題目詳解 n (≤1000) 個村莊,坐標 (x,y) 和海拔 z。任兩村莊可建水管,距離為歐氏距離,費用為海拔差絕對
HDU 4407 Sum:容斥原理 + 離線處理區間互質數求和
HDU 4407 Sum 題目詳解 初始序列 1,2,...,n (n≤400,000)。M (≤1000) 次操作: 1 x y p:查詢 [x,y] 中與
經典排序算法總結:冒泡、插入、快速、選擇排序 Java 實現
四大基礎排序算法 Java 實現與分析 時間複雜度均為 O(n²) 除快速排序平均 O(n log n)。空間複雜度均 O(1) 除快速排序遞歸棧 O(log
POJ 2386 Lake Counting:DFS 連通分量計數
POJ 2386 Lake Counting 題目詳解 給定 N×M 網格,W 表示水,. 表示陸地。水池定義為 8 方向連通的 W 區域。求水池個數。N,M
LeetCode Add Two Numbers:鏈表相加的兩種解法
LeetCode 2. Add Two Numbers 題目與解法 給定兩個非負整數鏈表,每個節點存一位,逆序存儲(個位在頭)。返回和鏈表。例:(2→4→3)+
C++ 運算符重載完全指南:可重載列表、實現規範與最佳實踐
C++ 運算符重載完全指南 運算符重載讓自定義類型像內置類型一樣自然使用。C++98/11/17 規定相同,大多數運算符可重載,少數不可。 可重載與不可重載運
LeetCode Multiply Strings:大整數字符串乘法實現
LeetCode 43. Multiply Strings 題目與解法 給定兩個非負整數字符串 num1、num2,返回它們的乘積字符串。長度任意,不能直接轉整
Apache ZooKeeper 核心概念與架構詳解
Apache ZooKeeper 核心概念與架構詳解 ZooKeeper 是分布式協調服務,名稱寓意「管理分布式系統這座動物園的管理員」。核心設計目標:簡單(類
C++ Primer 學習筆記:bitset 容器詳解
C++ 標準庫 bitset 完整指南 bitset 是編譯期固定大小的位集合,提供位操作接口,避免手動位運算的繁瑣與易錯。需包含 <bitset>