Swift 統計字符類型:元音、輔音與其他字符計數
功能描述 輸入一個字符串,統計其中英文元音字母 (a,e,i,o,u)、輔音字母 (其餘字母) 及其他字符 (數字、符號、空格等) 的個數。不區分大小寫。 S
C++11 std::thread vs POSIX pthread 性能對比測試
測試環境與結構 對比三種併發模型創建/銷毀開銷: 進程 `fork()` + `wait()` POSIX 線程 `pthread_create()` + `
STM32F429 LTDC 驅動配置圖解:時鐘、時序、層與窗口設置
概述 基於 STM32F429 Discovery 開發板 (LCD: 240×320, ILI9341),圖解 LTDC (LCD-TFT 控制器) 核心配置
BZOJ 3454 家族:並查集 + 雙指針優化區間選擇
題目大意 無向圖,邊有權值。每個連通塊大小有「喜愛度」。保留邊權在某區間 [L, R] 內的邊,求使總喜愛度 ≥ k 的最小區間長度 R-L。 n ≤ 1000
數組分拆技巧:O(n) 構造乘積數組 (不使用除法)
問題描述 給定數組 A[1..n],構造 B[1..n] 使得 B[i] = ∏j≠i A[j]。要求 O(n) 時間,不能使用除法。 方法一:前後綴乘積分解
BZOJ 1190 [HNOI2007] 夢幻島寶珠:分層 01 背包 DP
題目大意 01 背包問題。物品重量 w ≤ 2^30,但每個 w 可分解為 a × 2^b (a ≤ 10, b ≤ 30)。背包容量 W ≤ 2^30。求最大
LeetCode Sum Root to Leaf Numbers:二叉樹路徑數字和
題目描述 3 代表 123)。求所有路徑數字之和。 遞歸解法一:回傳值累加 遞歸函數 `dfs(node, curSum)` 返回以 node 為根的子樹所有
BZOJ 2957 樓房重建:分塊與線段樹雙解法
題目大意 n 棟樓初始高度 0。每次修改某棟樓高度,查詢從原點 (0,0) 看去能看到多少棟樓(即斜率單調遞增的樓數)。n, m ≤ 10^5。 解法一:分塊
HDU 4826 迷宮探險:三狀態動態規劃
題目大意 m×n 矩陣迷宮,從左上角 (1,1) 走到右上角 (1,n)。每步只能上、下、右移動,不能重複訪問格子。格子有正負金幣。求最大獲得金幣數。 狀態定
BZOJ 2500 幸福的道路:樹形 DP + 單調隊列優化
題目大意 給定一棵帶權樹,定義 a[i] 為從節點 i 出發的最長路徑長度。求 a 數組中最長的連續區間,使得區間內最大值與最小值之差 ≤ m。 解題步驟 1
UVa 11346 Probability:幾何概率與積分應用
題目描述 在 a×b 的矩形中隨機取點 (x,y),求 x*y < S 的概率。輸出百分比,保留 6 位小數。 數學推導 曲線 x*y = S 是雙曲線。矩形
Android Fragment + ViewPager 優化:緩存 View 避免重複加載
問題現象 `onCreateView` 重建,導致佈局重新加載、數據重複請求,造成卡頓和流量浪費。默認 `ViewPager` 只緩存當前頁及相鄰頁,第三頁的
BZOJ 3878 [AHOI2014] 奇怪的計算器:線段樹區間線性變換
題目大意 有 q 個初始數值,依次進行 n 次操作(+x, -x, *x, @x 取模),每次操作後將超出 [L, R] 範圍的值截斷至邊界。求最終 q 個數值
HDU 1524 A Chess Game:有向無環圖上的 SG 函數博弈
題目背景 N 個位置構成有向無環圖(DAG),M 枚棋子分佈在各位置。雙方輪流移動一枚棋子沿有向邊到後繼位置。無法移動者負。多枚棋子獨立,屬於組合遊戲,需用 S
HDOJ 1163 Eddy's Digital Roots:數字根乘積規律
題目大意 給定正整數 n,計算 n 個 n 相乘後的數字根(Digital Root)。數字根定義為:將數字各位相加,直到結果為個位數。 數學規律推導 設兩位
POJ 3411 The Monkey and the Oiled Bamboo:狀態壓縮 Dijkstra
題目描述 有向圖中從 1 到 N 的最短路。每條邊有額外屬性:若走這條邊前已到達過節點 c,則花費減為 P,否則為原價。求最小花費,不可達輸出 impossib
POJ 3268 Silver Cow Party:雙向 Dijkstra 求最大往返路徑
題目大意 給定一個有向帶權圖和一個點 S。每頭奶牛從各自節點出發去 S 聚會,聚會結束再返回。求所有奶牛往返路徑長度之和的最大值。即求 max(dist(u,