UVALive 6465-6473 區域賽題目速解筆記
比賽題目簡要分析: A:題意繞彎,AC 人數最多,嘗試提交意外過。 B:純水題。 C:DAG 上拓撲序或記憶化 DP,一處粗心 1WA。 D:暴力斐波那契取模
COJ 1645:線段相交判斷(計算幾何基礎)
問題:給定兩線段端點座標 (x1,y1,x2,y2) 和 (x3,y3,x4,y4),判斷是否有交點,有輸出 Y,否輸出 N。 幾何核心邏輯 快速排斥:兩線段
HDU 3485 / CSU 1363:Count 101(不含 101 子串的二進制串計數)
問題:長度為 n 的 0/1 序列,不包含子串 101。求合法序列數模 9997。 遞推規律發現 列出前幾項: n=1: 2 (0,1) n=2: 4 (0
epoll 實戰:高性能 TCP Server 完整示例 (C 語言)
展示一個基於 epoll 邊緣觸發 (ET) 模式的非阻塞 TCP 服務器,包含 socket 創建、綁定、監聽、epoll 事件循環、新連接接受、數據收發、連
HDU 4764:Stone(石子遊戲——博弈論取模規律)
遊戲規則:Tang 先取 1~k 之間的數,之後雙方輪流取數,每次必須比上一個數大 1~k。先達到或超過 N 的人輸。雙方最優策略,求贏家。 核心推理 這是經典
嵌入式工程師面試題匯總:C 語言核心知識點
1. Linux 內核裁剪實戰 通過 make menuconfig 圖形化配置,遵循「精簡原則」: 代碼成熟度:關閉未完成代碼提示。 通用設置:必選 Sys
HDU 1054:Strategic Game(戰略遊戲——樹形 DP 求最小頂點覆蓋)
問題:給定一棵樹,在節點放置士兵使所有邊被觀測(即每條邊至少一個端點有士兵)。求最少士兵數。即樹的最小頂點覆蓋問題。 DP 狀態定義 dp[u][0]:節點
HDU 4768:Flyer(傳單分發——二分查找)
問題大意:有 n 種傳單,第 i 種從位置 a_i 開始,每隔 c_i 分發一份,直到 b_i 為止。收到奇數份傳單的同學視為「不幸運」。樣例保證至多一名不幸運
HDU 3452:Bonsai(盆栽修剪——樹形 DP 與最小割)
問題:給定一棵帶權無向樹,根節點為 r。需移除一些邊,使原樹中所有葉子節點均與根斷開。求移除邊的最小總權重。 方法一:樹形 DP 定義 dp[u] 為切斷以 u
POJ 1852:Ants(螞蟻掉落竿子)
問題描述:長度為 L 厘米的水平竿子上有 n 隻螞蟻,每隻以 1 cm/s 定速移動。螞蟻走到竿子末端會掉落;相遇時雙方掉頭反向。已知初始位置,但方向未知。求所
LeetCode 解題:Pascal's Triangle(楊輝三角)
題目:給定 numRows,生成楊輝三角的前 numRows 行。例如 numRows = 5 時輸出: [ [1], [1,1], [1,2,1],
C++ 常見陷阱:#define 宏定義的三大坑
1. 宏參數務必加足夠括號 宏展開是單純的文字替換,缺乏括號會導致運算優先級錯誤。例如: #define Add(a,b) a+b // 調用 Add(1,2)
LeetCode 解題:Trapping Rain Water(接雨水)
這道題最直觀的做法類似 Longest Palindromic Substring 的中心擴展法:對每根柱子向左右掃描,找到其能承接的最大水位,累加得總水量。單
LeetCode 解題:Valid Sudoku(驗證數獨合法性)
這道題是 Sudoku Solver 的子問題,用於驗證當前數獨盤面是否合法。解法直觀:對每一行、每一列、每一個 3x3 宮進行掃描,共需 27 次驗證,每次檢
LeetCode 解題:Sudoku Solver(數獨求解器)
這道題目的核心解法沿用了 N-Queens(N 皇后)問題中常見的回溯套路。簡單來說,思路是逐格嘗試填入 1 到 9,每填入一個數字就檢查當前盤面是否合法;若合
LeetCode Combination Sum:回溯法求目標和組合(可重複選取)
題目大意 給定無重複正整數數組 candidates 和目標 target,找出所有**和為 target** 的組合。每個數字可**無限次**使用。解集不含重
HDU 1614 / UVA 103 Stacking Boxes:盒子嵌套最長路徑 DP
問題轉化 K 個盒子,每盒 N 維尺寸。盒子可旋轉(尺寸排序後比較)。若盒 A 所有維度 < 盒 B 對應維度,則 A 可嵌入 B。求最長嵌套序列(盒子數)及具
C++ list 容器入門:雙向鏈表的基本操作與迭代器遍歷
list 特性 雙向鏈表,**非連續內存**,不支持隨機訪問。 任意位置插入/刪除 **O(1)**(已有迭代器)。 迭代器**不會**因插刪失效(指向被刪元