NYoj 經典入門題匯總:中國剩餘定理、斯特林公式、荷蘭國旗問題等
前言 本文整理了 NYoj(南陽理工 OJ)若干經典入門題目的解法與代碼,涵蓋數論、組合數學、模擬、幾何等多個方向,適合初学者夯實基礎。 題目 1:中國剩餘定
HDU 1520 Anniversary Party:樹形 DP 求最大快樂值
問題描述 HDU 1520 Anniversary Party 是一道經典的樹形動態規劃問題。給定一棵樹,每個節點代表一位員工,擁有一個「快樂值」。約束條件:若
HDU 3487 Play with Chain:Splay Tree 實現區間切割與翻轉操作詳解
前言 本文記錄 HDU 3487 Play with Chain 題目的解題思路與代碼實現。這道題目要求對一個序列支持區間翻轉與區間切割插入操作,是 Splay
NYoj 簡單題集錦:基礎算法與模擬題快速解法匯總
專題:NYoj 入門級題目代碼庫 收錄多道可直接套用模板/邏輯的簡單題,涵蓋數學推導、模擬、字符串、基礎數論等。 題目速覽表 題號名稱核心技術關鍵點 122
後綴數組高階:POJ 3415 公共子串計數 單調棧優化
題目:兩字符串長度 ≥K 的公共子串個數 給定字符串 S、T,求有多少對子串 (S[i..i+L-1], T[j..j+L-1]) 滿足 L ≥ K 且內容相同
快速排序標準實現:基於《算法導論》CLRS 教科書版本
CLRS 版快速排序核心差異 《算法導論》選擇 最後一個元素 作為基準(pivot),而許多教材選第一個。分區邏輯本質相同。 標準分區算法 pivot
數學規律題:ZOJ 3622 Magic Number 魔法數字枚舉解法
題目分析:右側添加不改變取模結果 求「魔法數字」:對任意整數 X,將數字 d 拼接到右側形成 X = X·10^len(d) + d,滿足 X ≡ 0 (mod
Splay Tree 實戰:HDU 3436 Queue-jumpers 序列維護與區間縮點
題目建模:動態序列的三種操作 隊列初始 1..N(N≤10⁸),三種操作: RANK k:查詢第 k 位是誰 TOP x:將人物 x 移至隊首 QUERY x
數論簡題:HDU 1576 A/B 線性同餘方程求解
題目轉化:模線性方程求解 給定 A = k·9973 + n,A/B = C,C = P·9973 + x,求 x ∈ [0, 9972]。 代入得: k·9
中國剩餘定理入門:NYoj 34 韓信點兵暴力與數學解法對比
題目:經典同餘方程組 求滿足下列條件的最小正整數 x: x ≡ a (mod 3) x ≡ b (mod 5) x ≡ c (mod 7) 其中 0≤a<3
二分圖最大匹配入門:HDU 2063 過山車匈牙利算法詳解
題目建模:經典二分圖最大匹配 男生女生配對過山車,每對最多一組,求最大配對數。標準 二分圖最大匹配 問題,匈牙利算法(DFS 增廣路)完美解決。 核心概念速覽
C++ virtual 關鍵字在繼承體系中的隱式特性與最佳實踐
核心問題:子類覆蓋虛函數是否需要重寫 virtual? [cpp] class Animal { public: virtual void cry()
擴展歐幾里得應用:POJ 2142 The Balance 最優砝碼組合
問題建模:雙邊天平的線性不定方程 兩種砝碼質量 a, b,需稱出質量 d 物品。砝碼可放天平左右兩邊,設左邊放 x 個 a、y 個 b,右邊放物品,平衡方程:
Eclipse + MinGW C++ 控制台無輸出問題完整解決方案
問題現象 Eclipse CDT 使用 MinGW 編譯 C++ 程序,點擊 Run 後 Console 無任何輸出,程序看似未運行或輸出被吞沒。 根因分析
後綴數組應用:POJ 1743 Musical Theme 最長不重疊重複子串
題目轉化:音樂主題的數學建模 給定音高序列,求最長子序列至少出現 2 次且 不重疊。 關鍵轉換:對相鄰音高做差分 r[i] = a[i+1] - a[i] +
數論經典:UVA 408 Uniform Generator 線性同餘與生成元判定
題目建模:線性同餘生成器的周期性 序列定義:seed_{n+1} = (seed_n + step) mod mod,初始 seed_0 = 0。 生成序列:0
離散對數經典:POJ 2417 Discrete Logging BSGS 算法詳解
問題定義:離散對數求解 給定素數 P、底數 a、目標值 b,求最小非負整數 x 滿足: a^x ≡ b (mod P) 這是密碼學核心問題,Baby-Step
後綴數組進階:POJ 3261 Milk Patterns 重疊子串 K 次問題
題目轉化:求長度最大的至少出現 K 次的子串(允許重疊) 給定長度 N 的整數序列,找最長子串使其在序列中至少出現 K 次(可重疊)。經典後綴數組 + 二分 +