C++ 單例模式:線程不安全版實現與核心要點
C++ 單例模式:線程不安全版實現與核心要點 單例模式確保某類全局僅有一實例,並提供全局訪問點。是面試高頻考點,也是最基礎的創建型模式。 核心實現要素 私有/
C++ 設計模式之適配器模式:結構、優缺點與應用場景全解析
C++ 設計模式之適配器模式:結構、優缺點與應用場景全解析 適配器模式將一個類的接口轉換為客戶期望的另一個接口,使原本不兼容的類能夠協同工作。分為類適配器(繼承
POJ 1459 Power Network:超級源匯點建模 Dinic 最大流
POJ 1459 Power Network:超級源匯點建模 Dinic 最大流 電力網包含發電站(源)、用電方(匯)、輸電線(邊),均有容量上限。多源多匯求最
POJ 2318 TOYS:二分查找確定玩具落入隔板編號
POJ 2318 TOYS:二分查找確定玩具落入隔板編號 矩形玩具箱內有 n 條不相交的紙板隔板(左端 (U_i, y1),右端 (L_i, y2)),從左到右
Theano 學習筆記(四):自動求導與雅可比/海森矩陣計算
Theano 學習筆記(四):自動求導與雅可比/海森矩陣計算 Theano 通過 T.grad 實現符號微分,支援標量、向量、矩陣的高階導數計算。 基本求導 x
LeetCode 99 恢復二叉搜索樹:遞歸查找極值節點交換修復
LeetCode 99 恢復二叉搜索樹:遞歸查找極值節點交換修復 BST 中兩個節點被錯誤交換,要求在不改變結構情況下恢復。進階要求 O(1) 空間(Morri
UVA 11294 / POJ 3648 Wedding:2-SAT 求新娘一方座位安排
UVA 11294 / POJ 3648 Wedding:2-SAT 求新娘一方座位安排 婚禮雙方坐兩側,新娘不想看到有「XX 關係」的人坐在對面。已知新郎必須
HDU 3886 數位 DP:字符模式約束下的區間計數
HDU 3886 數位 DP:字符模式約束下的區間計數 給定模式串 s(由 /, -, 組成),分別表示相鄰數字嚴格遞增、相等、嚴格遞減。求區間 [a, b]
UVa 1635 無關元素:組合數質因數分解判斷被 m 整除
UVa 1635 無關元素:組合數質因數分解判斷被 m 整除 給定 n, m (n ≤ 1e5, m ≤ 1e9),初始數組 a_1..a_n 經過相鄰求和歸約
Codeforces 245 Div1 B:四向 DP 預處理+枚舉交點求最大路徑和
Codeforces 245 Div1 B:四向 DP 預處理+枚舉交點求最大路徑和 給定 n×m 網格,兩人從四個角出發向中間移動,恰好在一個格子相遇(不重疊
HDU 4973 線段樹維護區間翻倍與最大頻次查詢
HDU 4973 線段樹維護區間翻倍與最大頻次查詢 初始隊列為 1, 2, ..., n。操作 D l r 將區間 [l, r] 內每個元素複製一份(長度翻倍)
BNU 25359 Escape Time II:狀態壓縮 DP 求最大寶石收集
BNU 25359 Escape Time II:狀態壓縮 DP 求最大寶石收集 房間數 n ≤ 10,逃生時間 t ≤ 1e6。每個房間有寶石,從起點 s 出
NYOJ 1 到 N 求和:大數絕對值與正負號處理技巧
NYOJ 1 到 N 求和:大數絕對值與正負號處理技巧 題目要求計算 1 到 N(含)所有整數之和,N 絕對值不超過 10000,存在多組測試數據。關鍵在於正確
UVA 12167 證明等價性:強連通分量縮點與入出度統計
UVA 12167 證明等價性:強連通分量縮點與入出度統計 給定若干已證明的等價關係,要求在最少補充證明次數下使所有命題兩兩等價。本質上是求有向圖變為強連通圖所
刪除鏈表倒數第 N 個節點:單次遍歷雙指針解法詳解
刪除鏈表倒數第 N 個節點:單次遍歷雙指針解法詳解 給定一個單鏈表,要求刪除倒數第 n 個節點並返回頭節點。例如鏈表 1→2→3→4→5 中刪除倒數第 2 個節
UVA 11762 Race to 1:期望 DP + 素數篩預處理
問題描述 從 N 開始,每步隨機選一個 ≤ 當前數 D 的素數 p: - 若 p 整除 D → D = D / p - 否則 D 不變 重複直到 D=1,求期望
UVA 1108 Mining Your Own Business:雙連通分量求最小安全點集
問題建模 連通無向圖,選最少「安全點」,使得任意非安全點塌方後,其餘點仍能到達某安全點。 等價於:找最小點集,使其與所有割點相鄰,且每個塊(Biconnecte
NYOJ 超級台階:斐波那契數列的經典應用
問題描述 樓梯 m 級,從第 1 級開始,每步可跨 1 級或 2 級,走到第 m 級有多少種走法。 規定:1→1 為 0 種。 遞推關系 設 f[m] 為從第