HDU 4009 最小樹形圖:三維幾何與 Chu-Liu/Edmonds
題目 n 個村莊 (三維座標),可選:自鑿井 (費用 = 高度×X) 或從有井村莊引水 (費用 = 曼哈頓距離×Y,若向高處流水額外 +Z)。求全村用水最小總費
UVA 10810 Ultra-QuickSort:歸並排序計算逆序數
題目 給定長度 n (n < 500,000) 的不重複整數序列,求將其排序為升序所需的相鄰交換次數 (即逆序數)。多測試用例,n=0 結束。 歸並排序求逆序
LeetCode 121. Best Time to Buy and Sell Stock:單次交易最大利潤的三種 DP 視角
題目 股價序列 prices,僅允許完成至多一筆買賣,求最大利潤。 視角一:差分數組最大子段和 (Kadane) 令 diff[i] = prices[i]
LeetCode 114. Flatten Binary Tree to Linked List:逆前序遍歷就地展平
題目 將二叉樹就地展平為單鏈表,右子指針指向下一節點,左子指針置 null。展平順序為前序遍歷順序。 關鍵觀察 展平後樹只有右子樹。 已訪問節點可修改結構,
UVa 11125 Arrange Some Marbles:多維 DP 計數排列方案
題目 n 種顏色玻璃珠 (n≤4),每種數量 0~7。排成一行,相同顏色相鄰形成組,組大小 1~3。相鄰組顏色不同且大小不同,首尾組也須顏色不同且大小不同。求合
LeetCode 122. Best Time to Buy and Sell Stock II:貪心累加所有正差價
題目 可完成任意次買賣 (賣出後才能再買入),求最大利潤。 貪心洞察 只要明天價格高於今天,就應該今天買入明天賣出。將所有上漲區間拆解為逐日正差價之和: pr
POJ 3164 最小樹形圖:Chu-Liu/Edmonds 算法模板題
題目 有向圖 n 點 m 邊,點 1 為根,邊權為歐氏距離。求以根為根的最小樹形圖 (有向最小生成樹) 權值和,不存在輸出 poor snoopy。 Zhul
WinForms 自定義控件:Label + TextBox 組合控件 (瀏覽/編輯雙模式)
需求背景 表單開發中常需「標籤 + 輸入框」固定組合,且需支援: 瀏覽模式:顯示值 + 底線,不可編輯 編輯模式:點擊值區域切換到 TextBox,可輸入/修
HDU 1405 The Last Practice:質因數分解與篩法預計算
題目 對給定整數 n (n ≤ 65535) 分解質因數,按質因數遞增輸出「質因數 指數」對,每對後含空格。多測試用例,負數結束輸入。 篩法預計算質數 con
POJ 1088 滑雪:記憶化 DFS 求最長下降路徑
題目 N×M 網格 (N,M≤100),每格高度互不相同。可從高處向低處移動 (上下左右),求最長滑雪路徑長度 (格子數)。 狀態與轉移 dp[x][y]:從
LeetCode 123. Best Time to Buy and Sell Stock III:最多兩筆交易的雙向 DP
題目 給定股價序列 prices,最多完成兩次買賣 (賣出後才能再買入),求最大利潤。 核心思路:分治 + DP 將時間線在某一天分割為左右兩段,左段最多一筆
HDU 1874 暢通工程續:SPFA 與 Dijkstra 求最短路
題目 n 個節點 (n≤200),m 條無向邊,每條邊有長度。多組測試,每組給定起點 S、終點 T,求最短路徑長度,無路徑輸出 -1。 Dijkstra (O
C++ 空類的默認成員函數:按需生成而非自動生成
常見誤區 面試常被問:「空類編譯器會自動生成哪些函數?」許多回答:預設構造、析構、拷貝構造、拷貝賦值、取址運算符。這不準確——編譯器只有在被使用時才會生成。
LeetCode 140. Word Break II:DP + 逆序 DFS 構造所有句子
題目 給字串 s 與詞典 dict,在 s 中插入空格使每個單詞均在 dict 中,返回所有可能句子。 例:s=catsanddog, dict=[cat,ca
HDU 1474 / UVA 570 Always On the Run:航班動態規劃
題目 n 個城市 (n≤10),k 天 (k≤1000)。每天城市間有航班時刻表 (週期性),給出飛行天數與費用 (0 表示無航班)。從城市 1 第 1 天出發
URAL 1998 The Old Padawan:石頭跳躍與預處理/二分優化
題目 n 塊石頭排成一排,第 i 塊寬度 w[i]。初始站在石頭 1,每秒向前移動 1 格。若當前石頭寬度總和超過 k,則後退直到總和 ≤ k。m 個時刻 t[
gcc 與 g++ 差異解析:C++ 編譯為何需 g++?
現象 直接用 gcc 編譯 C++ 源檔會報錯:gcc: error trying to exec cc1plus: execvp: No such file
UVa 10654 The Uxuhul Voting System:博弈論與記憶化 DP
問題建模 3 個議題 (Y/N),初始全 N。m 位祭司按年齡遞增投票,每人必須翻轉一石頭 (改變一議題結果)。每位祭司有對 8 種結果 (NNN...YYY)