C++ 並發編程:安全訪問 STL 容器元素的多種方案
問題背景 STL 容器(vector, deque, list 等)非線程安全。多線程並發讀寫會導致迭代器失效、數據競爭、未定義行為。 標準保證:多線程同時只讀
HDU 2451 Simple Addition Expression:數位 DP 計數無進位加法三元組
問題描述 給定 N (≤ 10¹⁸),求有多少整數 x ∈ [0, N) 滿足:x, x+1, x+2 三個連續整數逐位相加不產生進位。即對每一位,三數字之和
UVA 11853 Paintball:DFS 判斷圓形障礙物是否阻隔左右通道
問題重述 1000×1000 正方形場地,N 個圓形障礙物 (x,y,r)。從左邊界 (0, y) 走到右邊界 (1000, y),不能穿過圓內。求可行路徑中最
九度 OJ 1518:鏈表反轉——後插法構建與頭插法反轉
問題描述 輸入鏈表長度 n (0 ≤ n ≤ 1000) 及 n 個節點值,反轉鏈表並輸出。多測試用例至 EOF。n=0 輸出 NULL。必須使用鏈表結構實現。
HDU 3117 Fibonacci Numbers:矩陣快速冪求末四位 + 對數公式求首四位
問題挑戰 求斐波那契數 F(k) 的前四位和後四位(k 可達 10⁹)。後四位可用矩陣快速冪取模 10000;前四位因數值極大(位數 ~ 0.209k),無法直
SGU 106 The Equation:擴展歐幾里得算法求線性不定方程整數解個數
問題描述 給定 a, b, c, x1, x2, y1, y2(絕對值 ≤ 10⁸),求滿足 a·x + b·y + c = 0 且 x1 ≤ x ≤ x2,
BZOJ 3262 陌上花開:CDQ 分治三維偏序計數
問題建模 N 朵花,每朵有三屬性 (x, y, z)。花 A 比花 B 美麗 ⇔ A.x ≥ B.x 且 A.y ≥ B.y 且 A.z ≥ B.z(至少一個嚴
分治、遞歸與經典排序算法:原理、實現與多語言對比
一、分治法:統計數字 1 在區間 [a,b] 中的出現次數 問題:給定 a, b (如 1024, 1032),求 1 在所有數字中出現的總次數。 分治思路:c
Codeforces 468A 24 Game:構造算法輸出操作序列
問題描述 給定 n,初始集合 {1, 2, ..., n}。每步從集合中取兩數 a, b,用 +, -, * 之一運算得到 c,放回集合(a,b 移除)。共 n
斐波那契數列與質數生成:多語言基礎算法實現大全
斐波那契數列 定義:F(1)=1, F(2)=1, F(n)=F(n-1)+F(n-2)。求第 n 項。 迭代法(O(n) 時間,O(1) 空間) // Ja
UVA 11624 Fire!:雙 BFS 解決火災逃生最短路徑
問題建模 R×C 迷宮(R,C ≤ 1000),Joe 起始位置 J,多個火源 F,牆壁 #。Joe 每分鐘移動上下左右一格,火同時向四方向蔓延。Joe 到達邊
POJ 1696 Space Ant:計算幾何極角排序遍歷所有點
問題重述 平面上 N ≤ 50 個點,需從最低點(y 最小,同 y 取 x 最小)出發,每次只能左轉(即轉向角在 (0, π)),走遍所有點恰好一次。輸出遍歷順
HDU 4686 Arc of Dream:矩陣快速冪求線性遞歸第 k 項
問題描述 給定遞歸關係: a₀, b₀ 已知 aₙ = aₓ·aₙ₋₁ + aᵧ·bₙ₋₁ bₙ = bₓ·bₙ₋₁ + bᵧ·aₙ₋₁ 求 Sₖ = Σᵢ₌
POJ 1143 Number Game:狀態壓縮 DP 與記憶化搜索解析
問題建模 給定一組可選數字(2~20 之間),兩名玩家輪流選擇。選擇規則: 選 x 後,集合中 x 的所有倍數被移除。 若某數 n 在集合中,但 n-x 不在
HDU 4419 Colourful Rectangle:掃描線 + 線段樹統計 RGB 七種顏色面積
問題本質 給定 n ≤ 10000 個矩形,每個染紅(R)、綠(G)、藍(B)之一。矩形疊加時,顏色混合遵循光的三原色規則:R+G=黃(RG)、R+B=洋紅(R
HDU 5033 Building:斜率優化與單調隊列求可視天空角度
問題重述 給定 N 座摩天大樓(N ≤ 10⁵),第 i 座位於 xᵢ,高度 hᵢ。Matt 站在查詢位置 q,身高視為 0。大樓無寬度。Matt 能看到天空的
POJ 1149 PIGS 邁克賣豬問題:網絡流建模與三種最大流算法完整解析
問題背景與核心挑戰 POJ 1149 是一道經典的網絡流建模題目,被廣泛作為最大流算法的教學案例。問題描述中,Mirko 管理著 M 個鎖著的豬圈(M ≤ 10
Boost.Asio C++ 網絡編程(八):TCP/UDP/ICMP 套接字方法差異、緩衝區管理與非拷貝語義
套接字類方法對比 Boost.Asio 中 ip::tcp::socket、ip::udp::socket、ip::icmp::socket 繼承自 basic