九度 OJ 1463: 招聘會 - 貪心區間調度最大兼容子集
問題描述 有 n 場招聘會,每場有起止時間。一場結束瞬間另一場開始可參加。求最多能參加多少場。 貪心策略證明 按結束時間升序排序。依次選擇:當前最早結束且與已
LeetCode 148: Sort List - 鏈表歸並排序 O(n log n) 常數空間
問題描述 對單鏈表進行排序,要求 O(n log n) 時間、O(1) 空間。 歸並排序適用鏈表 單鏈表不支持隨機訪問,快排不宜;歸並排序只需順序訪問,天然適
LeetCode: Text Justification - 文本左右對齊排版
問題描述 給定單詞數組和行寬 L,按貪心策略填裝單詞,每行恰好 L 字符,左右對齊(最後一行左對齊)。多餘空格盡量均勻分布在單詞間隙,左側間隙優先多分一個。
NYOJ 139: 康托展開求排列字典序排名
問題描述 12 個字符 a~l 全排列按字典序編號(從 1 開始)。給定一個排列,輸出其排名。n ≤ 10000 查詢。 康托展開公式 排名 = 1 + Σi
HDU 2080: 夾角有多大 II - 向量夾角計算
問題描述 給定兩向量 (x1,y1), (x2,y2),求它們之間的夾角(0°~180°),輸出保留兩位小數。 數學公式 cosθ = (x1*x2 + y1
A Sequence of Numbers - 等差/等比數列第 K 項快速冪取模
問題描述 給定數列前三項,判斷是等差或等比數列,求第 K 項模 200907。K ≤ 10⁹,前三項 < 2⁶³。 解法 若 2*a2 == a1 + a3
BZOJ 3834: Poi 2014 Solar Panels - 數論 GCD 區間查詢
問題描述 給定 a,b,c,d,多次查詢:x∈[a,b], y∈[c,d] 時,gcd(x,y) 的最大可能值。 核心觀察 枚舉 g = gcd(x,y)。區
HDU 4528: 馬拉松 - 狀態 BFS 最短步數
問題描述 網格地圖,有車、馬、炮三枚己方棋子(走法同中國象棋),敵方將軍和士兵(靜止)。求最少步數殺死將軍。棋子可重複經過同一格,但狀態(三子位置)不可重複。
UVA 1395: Slim Span - 最小苗條度生成樹(Kruskal 變體)
問題描述 給定無向加權圖,求生成樹中「苗條度」(最大邊權 - 最小邊權)最小值。若無生成樹輸出 -1。 算法思路 邊按權值排序。枚舉最小邵 L,從 L 開始遞
九度 OJ 北郵 2010 網院機試題解(四題)
1173: 簡單查找 數組查找 m 個數,輸出 YES/NO。n≤100,線性掃描即可。 1174: 第 K 小數(去重) 數組排序,遍歷計數不同值,第 k
HDU 2056: Rectangles - 矩形相交面積幾何解法
問題描述 給定兩矩形的對角線端點座標,求相交面積。多組輸入,輸出保留兩位小數。 核心思路 對每個矩形,分別求出 x 的最小/最大值、y 的最小/最大值,得到標
LeetCode 每日一題:合併兩個有序數組(尾插法)
問題描述 給定兩個有序數組 A(長度 m,尾部有 n 個空位)和 B(長度 n),將 B 合併到 A 中,保持有序。要求原地修改 A。 尾插法(最優) 從後向
ZOJ 3822: Domination - 期望 DP 解棋盤覆蓋問題
問題描述 N×M 棋盤,每天隨機在空格放一子。求期望天數使得每行每列至少有一子(即棋盤被「統治」)。 狀態定義 dp[r][c][k]:左上角 r 行 c 列
九度 OJ & 北郵機試 2011 網院專業題解(四題)
1177: 字符串查找與修改 初始字符串,n 條指令:0 i len 反轉區間;1 i len str 替換區間。直接模擬字符串操作,注意指令連續作用於修改後的
九度 OJ & 北郵機試 2010 計算機專業題解(四題)
1169: 比較奇偶數個數 統計 n 個數中奇數、偶數個數,偶數多輸出 NO,否則 YES。O(n) 單遍歷。 1170: 找最小數對 讀入 n 對 (x,y
BZOJ 2786: Ural 1142 Relation - 遞推計算方案數
問題描述 用 = 和 < 連接 n 個元素,等號連接的視為一個整體(有序集合),求不同連接方案數。 遞推公式推導 設 f[i][j] 表示 i 個元素劃分為
Canvas 圖片保存為圖片或 PDF 的兩種方案
方案一:前端 toDataURL + 後端代理下載 canvas.toDataURL() 獲取 Base64 數據,AJAX POST 給後端 Handler。