UVA 11294 Wedding:2-SAT 模型解婚宴座位安排
UVA 11294 Wedding 題解 題目大意 n 對夫妻參加婚宴,所有人坐在長桌左側或右側。夫妻必須面對面坐(即一方在左、另一方在右)。新娘在左側。有
LeetCode Maximum Product Subarray:最大乘積子陣列
LeetCode 152. 最大乘積子陣列 題目描述 給定整數陣列 A,找出連續子陣列的最大乘積。 範例:[2,3,-2,4] → 最大乘積 6 (子陣列 [
BZOJ 1014 [JSOI 2008] 火星人 prefix:Splay 維護字符串 Hash + 二分查詢 LCP
問題描述 維護一個字符串,支持三種操作: Query(x, y):求從位置 x 和 y 開始的最長公共前綴長度(LCP)。 Modify(x, c):將位置
HDOJ 2665 Kth number:靜態區間第 k 大(劃分樹裸題)
問題描述 給定長度 n(≤ 10⁵)序列,m(≤ 10⁵)次查詢,每次詢問區間 [s, t] 第 k 大數。多測試用例。 解法:劃分樹(Partition T
LeetCode Populating Next Right Pointers in Each Node 題解
LeetCode 116. 填充每個節點的下一個右側節點指標 題目描述 給定完美二叉樹,結構: struct TreeLinkNode { TreeL
POJ 3009 Curling 2.0:冰壺遊戲最少移動次數(DFS + 剪枝)
問題描述 w×h(≤ 20×20)棋盤,格子:0 空地、1 障礙、2 起點、3 終點。石頭從起點出發,每次選一方向拋擲,直線滑行直到撞到障礙(停在障礙前一格,障
B. 沙漠之旅:分組背包選擇 4 桶油剛好行駛距離 L
問題描述 吉普車滿油行駛 X,後備箱最多放 4 桶油。起點有 N 種油(無限桶),第 i 種一桶行駛 Ai。問能否恰好選 4 桶油,使總行駛距離 = L(即 A
POJ 3414 Pots:水壺倒水問題(BFS + 狀態編碼路徑記錄)
問題描述 兩個水壺容量 A, B(≤ 100),操作:灌滿、倒空、倒入另一壺(直到源空或目標滿)。求得到恰好 C 升水的最短操作序列。 狀態空間與 BFS 狀
C. Adidas vs Adivon:撕紙遊戲博弈論解法
C. Adidas vs Adivon 題解 遊戲規則 初始有一張 L × H 的長方形紙片(L, H 為正整數)。雙方輪流操作,Adidas 先手。每回合可
二叉搜索樹鏡像翻轉:遞歸與迭代(隊列)兩種實現
問題描述 輸入一棵二叉搜索樹,將其轉換為鏡像,即交換所有節點的左右子樹,使得左子樹節點值均大於右子樹節點值。 思路一:遞歸 對當前節點遞歸翻轉左右子樹,然後交
中興面試題:背包問題的兩種算法思路——生成並檢測 vs 構造並剪枝
問題描述 輸入 n, m,從數列 1,2,…,n 中任意取幾個數,使其和等於 m,列出所有可能組合。 兩種核心思路 思路一:生成所有子集,再篩選 先生成 2n
acdream 1234 Two Cylinders:垂直相交圓柱體積
acdream 1234 Two Cylinders 題解 題目描述 兩無限長圓柱,半徑分別為 R1、R2,軸線垂直相交。求交集體積。 輸入:R1 R2 (1
ACdream 1056 Bad Horse:二分圖判定與帶權并查集
問題描述 有 M 對「麻煩配對」,表示兩個成員不能在同一部門。問能否將所有成員分成兩個部門,使得每對麻煩配對分屬不同部門。(即判斷圖是否為二分圖) 解法:帶關
LeetCode 104 Maximum Depth of Binary Tree:二叉樹最大深度(遞歸)
問題描述 給定一棵二叉樹,求其最大深度。最大深度定義為從根節點到最遠葉節點路徑上的節點數。 遞歸解法 樹的最大深度 = max(左子樹深度, 右子樹深度) +
HDOJ 4251 The Famous ICPC Team Again:劃分樹查詢區間中位數
問題描述 給定長度 n(≤ 10⁵)的數組,m(≤ 10⁵)次查詢,每次詢問區間 [A, B](長度為奇數)的中位數。數組元素 ≤ 10⁹。 解法:劃分樹(P
Ural 1586 Threeprime Numbers:三位素數構造的 n 位數計數 DP
問題描述 稱一個 n 位數為「threeprime」,若其任意連續三位構成的三位數均為素數(首位不為 0)。求 n 位 threeprime 數的個數模 10⁹
LeetCode 112 Path Sum:二叉樹路徑總和判斷(遞歸 DFS)
問題描述 給定一棵二叉樹和目標值 sum,判斷是否存在從根節點到葉節點的路徑,使得路徑上所有節點值之和等於 sum。 遞歸解法 深度優先搜索,遞歸參數為當前節
HDOJ 4417 Super Mario:分塊樹(劃分樹)+ 二分查詢區間第 k 小
問題描述 路長 n(≤ 10⁵),每個整數點有一塊磚,高度 hi。m(≤ 10⁵)次查詢,每次給出 L, R, H,詢問區間 [L, R] 內高度 ≤ H 的磚