Codeforces 251C Number Transformation:數論與 BFS 混合求解最小步數
題目大意 給定 a, b (1 ≤ b ≤ a ≤ 10^18)、k (2 ≤ k ≤ 15)。每秒可執行兩種操作之一: a = a - 1 選擇 x ∈ [
HDU 2795 Billboard:線段樹區間最大值查詢與更新實戰
題目大意 一塊 h × w 的廣告牌,依序貼上 n 張寬 wi、高 1 的廣告。每張廣告總是貼在最左上角可行位置(即:最上方的行中,最左邊能放下的位置)。若無法
UVA 1434 YAPTCHA:威爾遜定理與質數篩解題詳解
題目大意 給定 n、k,求 S(n) = Σ_{i=1..n} [ (3i+7) 是質數 ? 1 : 0 ]。多組測資,n ≤ 10^6。 數學核心:威爾遜定理
POJ 2367 Genealogical Tree:拓樸排序入門經典題解
題目大意 火星人家族關係複雜:一個人可有多個父母、多個孩子。議會發言順序必須滿足:每個成員比其所有後代更早發言。給定 N(≤100)位成員及其子女列表,輸出任一
最長單調遞增子序列 (LIS) O(n²) 動態規劃完整解析與 Java 實現
問題定義 給定長度為 n 的數列,求其最長嚴格遞增子序列的長度與具體序列。要求時間複雜度 O(n²)。 動態規劃狀態設計 sub_len[i]:以第 i 個
UVA 1555 Garland:二分搜尋求解燈泡高度最優解
題目大意 有 n 盞燈泡排成一排,第一盞高度固定為 A,最後一盞高度為 B(待求最小值)。相鄰三盞燈泡滿足遞推關係: H[i] = 2*H[i-1] + 2 -
POJ 2409 Let it Bead - Polya 計數定理應用
問題重述 有 n 顆珠子串成項鍊,每顆可染 c 種顏色。項鍊可旋轉、翻轉(二面體群 Dn)。求本質不同的染色方案數。 Polya 計數公式 答案 = (1 /
UVa 10152 ShellSort - 烏龜堆疊最小移動序列
題目轉述 有 n 隻烏龜堆成一疊(輸入順序從頂到底)。目標重新排列為指定順序(同樣從頂到底)。唯一允許操作:任意一隻烏龜爬出原位,爬到堆頂。求最短操作序列(輸出
HDU 3592 World Exhibition - 差分約束系統與 SPFA 判斷負環
題目建模 給定 n 個變數 S1...Sn,兩類約束: x 條 Sb - Sa ≤ c → 有向邊 a → b 權重 c y 條 Sa - Sb ≤ -c →
C 語言 scanf 格式字串進階用法詳解:掃描集與正則風格匹配
核心概念:掃描集 scanf 族函數(scanf、fscanf、sscanf)支援 掃描集 語法 %[...],可實現類正則的字符級模式匹配,遠超 %s 僅能讀
HDU 1250 Hat's Fibonacci - 大數四階斐波那契
題目描述 定義四階斐波那契數列: 4) 輸入多組整數 n(至 EOF),每組輸出 F(n)。測資保證 F(n) 不超過 2005 位數。 解題關鍵:大整數處理
UVa 10602 - Editor Nottoobad 解題詳解
題目大意 有一台特殊編輯器,支援三種操作:輸入字符、複製、刪除。給定一組字串集合,求輸入這些字串所需的最少按鍵次數(僅計算「輸入字符」操作)。 核心觀察與策略
新手實作:C 語言通訊錄與簡易日曆系統
專案概述 這是一個經典的 C 語言入門專案,包含兩個獨立功能模組:通訊錄管理系統與簡易日曆顯示程式。程式碼展示了檔案操作、結構體應用、選單驅動介面、密碼驗證機制
C語言預處理器完全指南:宏定義、檔案包含、條件編譯與進階技巧
前言:預處理階段做了什麼? 預處理(Preprocessing)發生在編譯器詞法掃描與語法分析之前,由預處理器自動處理所有以 # 開頭的指令。主要功能包括:
C語言檔案操作完全指南:型別、緩衝、開啟模式與核心函式
一、檔案型別分類 串流檔案:標準輸入/輸出、磁碟檔案,以位元組串流方式存取。 裝置檔案:作業系統將硬體裝置(VGA、序列埠、USB、網卡)抽象為檔案,透過檔案
C程式啟動過程逆向分析:從main之前說起
實驗環境與工具鏈 最小 C 程式:int main() { return 0; } 分析工具:OllyDbg、Visual C++ 6.0、GCC (MinG
C語言動態內存分配完全指南:malloc、calloc、realloc 與 free 深度解析
前言:為什麼需要動態內存分配? 在 C 語言中,陣列在宣告時即為指標常數,其記憶體空間在編譯階段便已確定分配。然而,現實開發中程式往往無法預知所需陣列的確切長度