C++ 面向對象核心:類的封裝、繼承與多態實戰解析(含組合優於繼承原則)
封裝:從現實到類 **抽象**提取共同屬性(姓名、年齡)與行為(備課、上課),**封裝**將其綁定為 Teacher 類: class Teacher { p
C/C++ #define 宏定義完全指南:無參、帶參、嵌套、字符串化、令牌粘連與典型陷阱
無參宏 #define PI 3.14159 #define MAX_SIZE 1024 #define SQUARE(x) ((x)*(x)) // 實為
LeetCode 191 Number of 1 Bits:漢明重量計算的位運算技巧
題目 給定無符號 32 位整數,返回其二進制表示中 1 的個數(漢明重量)。例如 11 (0b1011) → 3。 解法一:逐位檢查(基礎) = 1;
C++11 概覽 <thread> 提供 std::thread 類與 std::this_thread 命名空間,實現跨平台多線程。核心特性:RAII 管理、
A+B Problem 入門:最基礎的輸入輸出與整數加法
題目描述 讀入兩個整數 a, b,輸出它們的和 a+b。這是所有 OJ 入門的第一道題,旨在熟悉提交系統、輸入輸出格式、編譯環境。 標準代碼 (C/C++)
HDU 1695 GCD:容斥原理求互質數對個數
題目轉化 給定 a=1, b, c=1, d, k,求滿足 gcd(x,y)=k 的數對 (x,y) 個數,其中 1≤x≤b, 1≤y≤d,且視 (x,y) 與
C++/CLI 控制台程序閃退問題:Console::Read 與緩衝區殘留換行符處理
現象 C++/CLI 控制台程序運行後窗口一閃即關閉,即使在末尾加 Console::ReadLine() 也無效。 根因分析 Console::Read(
C++ 內存分配與對象構造分離:allocator、operator new、定位 new 深度解析
背景動機 new 同時完成內存分配與對象構造。若預先分配大塊內存、按需構造,可避免構造未用對象的開銷,或避免構造後立即賦值的浪費。標準庫容器(如 vector)
UVA 1471 Defense Lines:刪除一段使最長連續遞增子序列最大化
問題描述 長度 n (≤200,000) 序列,刪除一段連續子序列,剩餘拼接後求最長連續遞增子序列長度。 預處理 f[i]:以 i 為起點的最長連續遞增長度
HDU 1799 循環多少次?:組合數與楊輝三角取模解法
題目轉化 m 層嵌套循環,第 i 層變量從 i 開始到 n,求最內層 OP 執行次數。等價於從 {1..n} 中選 m 個嚴格遞增的數,即組合數 C(n, m)
二分查找 C++ 實現詳解:迭代版與遞歸版對比
算法簡介 二分查找適用於有序數組,時間複雜度 O(log n),空間 O(1)(迭代版)。核心思想:每次比較中間元素,將搜索範圍減半。 迭代版實現(推薦) i
信息學競賽調試指南:靜態查錯、動態對拍、提交前檢查三步法
前言 調試往往比思考算法更耗時。建立系統化調試流程能大幅提高代碼正確率,減少無效調試時間。 核心原則:思考先行 編碼前務必嚴謹論證算法:每步定義是否精確、邊界
C++ 實現簡易 ATM 銀行系統:面向對象設計與功能演示
系統概覽 使用 C++ 面向對象設計一個控制台 ATM 系統,包含兩個核心類:consumer(用戶)與 bank(銀行控制器)。預設 4 個用戶帳號,支持密碼
Ni 騎士問題:BFS 優化尋找經過灌木叢到達騎士的最短路徑
問題描述 W×H 地圖(≤1000×1000),格子值 0~4:0 可通行,1 障礙,2 Bessie 起點,3 騎士位置,4 灌木叢。Bessie 需從起點出
LeetCode Set Matrix Zeroes:原地將矩陣中含 0 的行列置零
題目描述 給定一個 m×n 矩陣,若某元素為 0,則將其所在行與列全部置為 0。要求原地操作,空間複雜度優化至 O(1)。 方法一:額外數組記錄行列(O(m+
UVA 11464 Even Parity:最少翻轉次數使所有格子鄰居奇偶性為偶
題目簡介 給定一個 N×N 的 0/1 矩陣(1 ≤ N ≤ 15),每個格子的「奇偶性」定義為其上下左右四個鄰居中 1 的個數。我們可以將任意 0 翻轉為 1
Clang++ 返回值優化行為測試:NRVO、移動語義與 C++11 標準影響
Clang++ 返回值優化實測:NRVO 與移動語義的自動應用 測試環境 Ubuntu clang version 3.5.0-4ubuntu2 (based
UVA 156 Ananagrams — 字母重排分組找獨特詞 (字母頻率簽名)
UVA 156: Ananagrams — 找出無字母重排變體的單詞 題目大意 輸入多行單詞 (以 # 結束),單詞由字母組成 (大小寫混合)。若一單詞的字母