HDU 1069 Monkey and Banana:長方體疊放 DP 經典題解
題目轉化 每種磚塊 (x,y,z) 可旋轉,得到 3 種底面朝向: 底面 (x,y) 高 z 底面 (x,z) 高 y 底面 (y,z) 高 x 將所有朝向
C 語言二維陣列練習:行極值的極值 (Saddle Point 思想)
題目要求 給定 n×n 整數矩陣: 先從每行找**最大值**,再從這 n 個最大值中找**最小值** (min of row max) 再從每行找**最小值*
PAT 圖論題「六度空間」:BFS 計算各節點 6 步可達比例
題目大意 給定無向圖 N 節點 (≤ 10⁴)、M 邊 (≤ 33N)。對每個節點,輸出距離 ≤ 6 的節點數佔總數百分比 (保留小數點後兩位)。 演算法:多
大整數算法系列(十):Comba 乘法高效實作三種模式詳解
Comba 乘法核心思想 逐列累加乘積,使用**三精度暫存器** (c2||c1||c0) 保存中間結果,僅在列結束時寫回記憶體,極大減少記憶體存取與進位傳播開
Linux C/C++ 遞迴遍歷目錄完整指南:opendir/readdir、scandir、nftw、std::filesystem
方法一:POSIX 基礎 API (dirent.h) 簡易版:單層列舉 d_name); } closedir(dp); return
C 語言合法識別字判斷:規則解析與 OJ 題解
識別字命名規則 (C99/C11) 首字元:字母 (A-Z, a-z) 或底線 _ 後續字元:字母、數字 (0-9)、底線 **不能是關鍵字** (如 int
大整數算法系列(十一):Karatsuba 乘法原理與實作詳解
動機:打破 O(n²) 的瓶頸 Comba 乘法雖常數小,但時間複雜度仍為 O(n²)。當位數達到數千位以上,耗時急劇增長。Karatsuba 以**分治法**
C 語言函數呼叫參數入棧順序:x86 vs x64、呼叫慣例深度解析
參數入棧順序不是固定的 許多面試題問「參數是從左到右還是右到左壓棧?」標準答案是:**視架構與呼叫慣例而定**。 實測代碼 (uintptr_t)&b)
C 語言進階:設計支援 O(1) 取最小值的堆疊
題目要求 實作堆疊,支援 push、pop、min 三個操作,時間複雜度均為 O(1)。 核心洞見:輔助堆疊記錄歷史最小值 主堆疊正常存資料。輔助堆疊(min
2015 編程之美資格賽:回文子序列計數 DP 解法詳解
題目大意 給定字串,求其回文子序列個數(位置不同視為不同子序列)。答案對 100007 取模。字串長度 ≤ 1000,測資 ≤ 30 組。 例:aba 的回文子
Windows Native C 程式設計(九):動態記憶體、鏈結串列、位元欄位
動態記憶體管理 核心函數 malloc(size):配置 size 位元組,回傳 void*(未初始化) calloc(n, size):配置 n * siz
Linux C 程式讀取 /proc/uptime 取得系統啟動時長
核心概念 Linux 將系統資訊以虛擬檔案系統暴露於 /proc。/proc/uptime 包含兩個數值(秒為單位): $ cat /proc/uptime
Apache 模組開發實戰:從內容生成器到輸出過濾器
前言 Apache HTTP Server 採模組化架構,核心功能皆以模組形式提供。開發自訂模組可擴充伺服器能力,例如自定義路由處理、請求/回應攔截、認證授權等
大整數算法系列(十二):有符號乘法實作——融合 Karatsuba 與 Comba
前言 前兩篇分別實作了 Comba 乘法(O(n²) 但常數極小)與 Karatsuba 乘法(O(n^1.585) 適合大數)。本篇將兩者結合,實作高效的有符
貪婪演算法解決分數背包問題:原理與 C 實作
問題描述 給定 s 種可分割物品,每種有單位價值 v 與重量 w。背包承重 m。可任意取物品的一部分,目標是讓背包內總價值最大。這是經典的分數背包問題,適用貪婪
OJ 實戰:密碼強度判斷演算法與 C 語言實作
題目背景 某線上判題系統(OJ)要求實作密碼強度分級邏輯。允許字元集包含四大類: 大寫英文字母 (A-Z) 小寫英文字母 (a-z) 數字 (0-9) 特殊符
初識博客園:2015 年 4 月 24 日的啟程
初識博客園:2015 年 4 月 24 日的啟程 今天是 2015 年 4 月 24 日,我正式入駐博客園(cnblogs.com)。作為一名開發者,長久以來習