C語言條件編譯入門:#ifdef/#else/#endif控制代碼編譯分支
條件編譯基本語法 通過預處理指令在編譯階段決定代碼片段是否參與編譯,實現多版本構建、調試開關、平台適配等。 核心指令 #define MACRO:定義宏(無
整數二進制中 1 的個數:位運算經典算法(Brian Kernighan 算法)
題目描述 輸入一個 32 位有符號整數,輸出其二進制補碼表示中 1 的個數。負數按補碼處理。 解法一:字符串轉換法(直觀但低效) int count_ones
HDU 5672:String——雙指針統計至少含k種不同字符的子串數
題目大意 給定長度10~1,000,000的小寫字母串S,查詢包含至少k(1≤k≤26)種不同字符的子串數量。T≤10組測試。 解法:雙指針滑動窗口 O(n)
HDU 4862:最小費用最大流+最小路徑覆蓋——矩阵路徑規劃問題
題目大意 n×m矩陣,每個格子有數字。一人可走k次,每次從未訪問格子出發,每步可向右/下跳躍到任意未訪問格子。移動(a,b)→(c,d)消耗能量|c-a|+|d
第九周周賽題解匯總:RMQ、DFS搜索、矩陣快速冪、大數GCD、進制轉換
A題:區間最大值查詢(HDU 5443 / The Water Problem) 題意:多測試用例,每組給定n個數,q次查詢區間[l,r]最大值。n,q≤100
HDU 5045:費用流求最大權匹配——題目與最小費用最大流建模
題目大意 有n人、m題。每人做對每題的概率給定。需分配題目使總期望做對數最大。限制:前k題中,任兩人做題數差≤1(即前n題必須均勻分配)。求最大期望值。 建模
一起Talk C栗子吧(第139回):系統調用文件操作API詳解——open/read/write/close
文件操作三步曲:系統調用版 打開文件 open() 讀/寫文件 read()/write() 關閉文件 close() 1. open - 打開或創建文件
一起Talk C栗子吧(第138回):Linux文件類型與文件描述符基礎
Linux中一切皆文件 Linux將設備、管道、Socket等統一抽象為文件,通過統一接口操作。理解文件類型與描述符是文件編程的基石。 常見文件類型(ls -
一起Talk C栗子吧(第140回):系統調用文件操作實戰——open/read/write/close
系統級文件操作三步曲 int fd = open(file_name, flags_read); // 打開 fd = open(file
一起Talk C栗子吧(第142回):標準庫文件操作函數詳解——fopen/fread/fwrite/fclose
文件操作三步曲函數原型 1. 打開文件:fopen FILE *fopen(const char *path, const char *mode); p
C語言關鍵字深度解析:restrict、const、volatile
1. restrict:編譯器優化的契約 背景動機 C語言允許指針別名,導致編譯器難以優化。例如: void foo(int *p, int *q, int
一起Talk C栗子吧(第141回):文件指針與文件流——標準庫I/O基礎
從文件描述符到文件指針 前回介紹了系統級的文件描述符(int fd)。本回進入標準庫層面:文件流與文件指針。 文件流:抽象的數據通道 文件操作本質是持續的數
C語言與編程語言發展史:從貝爾實驗室到現代語言演進
前言:以史為鑒 了解一門語言的歷史,能幫助我們看清其設計哲學、演進邏輯與生態定位,避免「一葉障目」。本文梳理C語言誕生背景、演變脈絡及主流類C語言譜系。 1.
一起Talk C栗子吧(第143回):文件指針操作實戰——標準庫I/O三步曲
回顧與導入 上一回介紹了文件指針(FILE*)的概念:它是標準庫對文件描述符的封裝,指向文件流(輸入/輸出/錯誤流),包含緩衝區信息。本回通過完整示例演示基於文
Objective-C Block深度解析:語法、捕獲語義與高級用法
什麼是Block? Block(代碼塊)是C語言的擴展,本質是一段可在未來執行的代碼,封裝了邏輯與上下文環境。它類似於其他語言的閉包或Lambda表達式,是Ob
HDU 5676:ztr loves lucky numbers——暴力打表+二分查找求最小超級幸運數
題目大意 「幸運數」定義為十進制僅包含數字4和7的正整數。「超級幸運數」進一步要求4和7的個數相等。給定n(1≤n≤10^18),求不小於n的最小超級幸運數。測
C語言實例:Socket網絡編程入門——從文件描述符到進程間通信
引言:為什麼要學Socket? 前面章節介紹了基於文件指針與文件描述符的文件操作,並探討了進程通信(IPC)。Socket作為一種特殊的文件描述符,不僅能實現本
HDU 2586:LCA轉RMQ模板題——樹上兩點距離查詢
題目簡述 給定一棵帶權樹(N≤40000),回答M個查詢:求任意兩節點間的最短距離。保證圖連通,無需處理不連通情況。 標準解法:LCA + RMQ (ST表)