容斥原理組合生成模板:DFS 求數組所有非空子集
應用場景 容斥原理需枚舉質因數集合的所有非空子集。例如 30 = 2×3×5,需生成 {2}, {3}, {5}, {2,3}, {2,5}, {3,5}, {
線索二叉樹:中序線索化構建與非遞歸遍歷完整實現
線索二叉樹基本概念 n 節點二叉鏈表含 n+1 個空指針域。利用空指針存儲遍歷序列下的前驅/後繼指針(稱為「線索」),並以標誌位 lTag, rTag 區分:
HDU 4336 - 狀態壓縮 DP 求期望:收集全套卡片的期望購買次數
問題建模 n ≤ 20 種卡片。每包零食獨立隨機獲得卡片:第 i 種概率 p_i,也可能什麼都不得(概率 1 - Σp_i)。求收集齊所有 n 種卡片所需期望購
HDU 3501 - Calculation 2:互質數和與容斥/歐拉函數雙解法
問題重述 給定 N (N ≤ 10^9),求 S = Σ_{1≤i1} i (mod 1000000007)。即小於 N 且與 N 不互質的數的和。 方法一
LightOJ 1231 - 背包計數 DP:多重背包組合數取模
問題描述 n 種物品,第 i 種體積 a_i、數量 b_i。求裝滿體積 M 的背包的方案數模 100000007。n ≤ 50, M ≤ 1000。 DP 定
Flowers - 樹狀數組 + 離散化:區間加點查詢離線解法
問題描述 有 n 朵花,每朵有開放區間 [L_i, R_i]。m 個詢問時刻 t_j,問每個時刻有多少朵花正在開放。n, m ≤ 10^5,坐標範圍大(需離散化
STM32 Cortex-M3 系統定時器:配置 10ms 滴答中閃爍 LED 實例
SysTick 定時器簡介 Cortex-M3 內核集成 24 位遞減計數器 SysTick,專為 RTOS 提供心跳節拍。特性: 計數器歸零自動重裝載值
HDU 1598 - find the most comfortable road:並查集 + 貪心優化最小速度差
問題描述 無向圖 n 點 m 邊,每邊有速度值 speed。多查詢:給定 x, y,求從 x 到 y 的路徑中,最大邊速度與最小邊速度之差的最小可能值。若不連通
Linux C++ 程序從 32 位遷移到 64 位的實戰踩坑記錄
遷移背景 舊環境:32-bit SUSE Linux + 32-bit Sybase + Tomcat 新環境:64-bit SUSE Linux +
POJ 3041 - Asteroids:二分圖最大匹配標準模板題
問題重述 n×n 網格,k 個小行星位於格點。可發射激光摧毀整行或整列。求最少發射次數摧毀所有小行星。 建模:行集合 U、列集合 V,每個小行星對應邊 (row
POJ 2154 - Color:Polya 計數與歐拉函數優化
問題描述 用 n 種顏色給長度為 n 的項鏈(循環項鏈)著色,旋轉視為相同,求本質不同的著色方案數模 P。n ≤ 10^9,P ≤ 10^9(非質數)。 Po
HDU 1498 - 50 years, 50 colors:二分圖最小頂點覆蓋與氣球戳破遊戲
問題建模 n×n 矩陣,每格有一顆顏色標號為 c 的氣球。一次操作可戳破同一行或同一列中同一顏色的所有氣球。共 k 次操作。問哪些顏色的氣球無法被完全戳破 k)
POJ 3696 - The Luckiest Number:數論與歐拉定理求最小 repunit 長度
問題重述 給定 L,求最小正整數 m 使得存在整數 K 滿足 L × K = 888...8(m 個 8)。若不存在輸出 0。多組測試,L=0 結束。 數學推
OpenCV HOGDescriptor 參數詳解與描述子維度計算
HOGDescriptor 構造函數參數一覽 OpenCV cv::HOGDescriptor 主要構造函數簽名: HOGDescriptor(Size win
POJ 1637 - 混合圖歐拉路徑:網絡流建模與 Dinic 算法
問題轉化 混合圖包含有向邊與無向邊。判斷是否存在歐拉迴路(遍歷每條邊恰好一次並回到起點)。 關鍵觀察:無向邊可任意定向。令任意定向後的入度為 in[v]、出度為
POJ 1024 - Tester Program:機器人路徑驗證與唯一性檢查
問題背景 給定 W×H 網格、牆壁列表、機器人指令序列(L/R/U/D)。需驗證: 指令執行過程不撞牆、不越界。 起點到終點的最短路徑唯一(無替代路徑
HDU 4068 - SanguoSHA:全排列枚舉與博弈模擬
問題簡述 雙方各有 n (n ≤ 8) 張卡牌,已知克制關係(有向圖)。雙方同時排列出牌順序,按順序對戰:若我方牌克制敵方牌,敵方換下一張;否則我方換下一張。先