C++11 std::move 與 std::forward 深度解析:移動語義與完美轉發
C++11 std::move 與 std::forward 深度解析:移動語義與完美轉發 C++11 引入右值引用,std::move 與 std::forw
C++ 指針的指針與指針引用:修改傳入指針的兩種方式
C++ 指針的指針與指針引用:修改傳入指針的兩種方式 在 C++ 中,函數參數傳遞指針時實為值傳遞(傳遞指針的副本)。若在函數內修改指針本身(如指向新地址),外
HDU 1025 Constructing Roads:LIS + 二分優化求最大不相交橋梁數
HDU 1025 Constructing Roads:LIS + 二分優化求最大不相交橋梁數 題目大意:河兩岸各有村莊,編號固定。窮國欲建橋與富國交流,橋不能
LeetCode 98 Validate Binary Search Tree:遞歸驗證 BST 合法性
LeetCode 98 Validate Binary Search Tree:遞歸驗證 BST 合法性 題目大意:給定二叉樹,判斷是否為合法 BST。定義:左
HDU 4709 Herding:枚舉三點求最小三角形面積
HDU 4709 Herding:枚舉三點求最小三角形面積 題目大意:給定 n 個平面點(n ≤ 100),求由任意三點構成的非零最小三角形面積。若所有三點共線
LA 6805 Pantun Grader:詩歌評分模擬實現
LA 6805 Pantun Grader:詩歌評分模擬實現 題目大意:輸入一首詩(多行,逗號分句,句號結束),按規則評分: A:每句音節數 8~12 得 10
HDU 4711 Weather:對數概率 DP + 字典序最小路徑重構
HDU 4711 Weather:對數概率 DP + 字典序最小路徑重構 題目大意:某人在 m 個地點停留 n 天,每天觀測到一種天氣(w 種)。給出:地點間轉
LeetCode 97 Interleaving String:二維 DP 判斷交錯字符串
LeetCode 97 Interleaving String:二維 DP 判斷交錯字符串 題目大意:給定 s1、s2、s3,判斷 s3 是否由 s1 和 s2
HDU 2152 Fruit:母函數 / DP 計算水果拼盤方案數
HDU 2152 Fruit:母函數 / DP 計算水果拼盤方案數 題目大意:N 種水果,第 i 種至少買 Aᵢ 個、至多 Bᵢ 個。共購買恰好 M 個水果。求
Immediate Decodability:前綴碼判定問題
Immediate Decodability:前綴碼判定問題 題目大意:輸入多組編碼集合,每組以單獨一行 9 結束。判斷集合內是否存在某編碼是另一編碼的前綴。若
POJ 1129 Channel Allocation:四色定理 + 迭代加深 DFS 圖著色
POJ 1129 Channel Allocation:四色定理 + 迭代加深 DFS 圖著色 題目大意:n 個基站(n ≤ 26),給出連接關係。相連基站不能
HDU 5108 Alexandra and Prime Numbers:最大素因子求解
HDU 5108 Alexandra and Prime Numbers:最大素因子求解 題目大意10⁶)≤100 組。 核心轉化 N/M = p (素數)
LA 6807 Túnel de Rata:最大生成樹求最小拆除代價
LA 6807 Túnel de Rata:最大生成樹求最小拆除代價 題目大意:無向圖,需刪除若干邊使圖無環(即保留生成樹),最小化被刪除邊權和。輸出最小刪除代
UVA 1637 Double Patience:狀態壓縮 DP 計算獲勝概率
UVA 1637 Double Patience:狀態壓縮 DP 計算獲勝概率 題目大意:36 張牌(9 堆 × 4 張),每堆僅顯示頂牌。每步可移除兩堆頂牌若
C++ 模板名稱查找:兩階段編譯與依賴名稱解析
C++ 模板名稱查找:兩階段編譯與依賴名稱解析 C++ 模板編譯採用兩階段名稱查找機制,理解它對編寫正確模板代碼至關重要。 階段一:定義階段(非依賴名稱) 模
BZOJ 1935 園丁的煩惱:離線處理 + 樹狀數組二維計數
BZOJ 1935 園丁的煩惱:離線處理 + 樹狀數組二維計數 題目大意:平面上 n 個點,m 次查詢矩形內點數。n,m ≤ 500,000,坐標 ≤ 10⁷。