HDU 4734 F(x):數位 DP 求權重不超過 F(A) 的數字個數
問題描述 定義十進制數 x(n 位)的權重 F(x) = Σ A_i * 2^{n-i}(即把十進制數字當二進制權重求和)。給 A, B (0 ≤ A,B <
C++ 構造函數與析構函數深度解析:調用時機、初始化列表、虛析構、常見陷阱
構造函數 核心職責 分配空間:為非靜態數據成員分配內存(非指針成員由編譯器自動處理;指針成員需程序員在構造函數體中 new)。 初始化成員:賦值初始化(普通
C++ 友元函數全面總結:分類、語法、用途與模板陷阱
為什麼需要友元 封裝性要求私有成員不可外部訪問,但某些場景(運算符重載、類間協作、效率關鍵路徑)需要打破封裝。友元提供「受控的封裝破壞」:只對特定函數/類開放私
HDU 2579 Dating with girls (2):BFS + 狀態壓縮(時間維度)
問題描述 迷宮中有石頭(#)、起點(Y)、終點(G)。石頭在時間為 k 的倍數時不可通行,其他時間可通行。求從 Y 到 G 的最短時間,不可到達輸出 Pleas
UVA 1401 Remember the Word:Trie + DP 統計分割方案數
問題描述 給定 n ≤ 4000 個單詞和一個長度 ≤ 300,000 的字符串 S。求將 S 分割成若干個給定單詞拼接的方案數,答案對 20071027 取模
Sicily 1422 Table Tennis:最小公倍數與反射建模
問題描述 矩形桌球桌 ABCD,邊長 m(寬)和 n(長),m < n。球從左下角 A 以 45° 角射出,邊界完全彈性反射。求球首先落入哪個角袋(A/B/C/
HDU 1197 Specialized Four-Digit Numbers:進制數位和枚舉
問題描述 找出所有四位十進制數(1000~9999),滿足:其十進制數位和、十二進制數位和、十六進制數位和三者相等。無輸入,直接輸出所有符合條件的數,每行一個,
C++ 進階必知:繼承、虛函數、函數指針、動態數組與模板技巧
類對象內存佈局與繼承大小 理解繼承(含虛繼承)下對象大小是 C++ 面試與底層調試的核心考點。 普通繼承 class A { char a[100]; };
GCC 編譯流程與參數詳解:從源碼到可執行文件
GCC 簡介 GCC (GNU Compiler Collection) 是功能強大的編譯器套件,支持 C、C++、Java、Ada、Fortran 等多種語言
Codeforces 題目:獎品兌換模擬(需 64 位整數)
問題背景 題目要求模擬獎品兌換過程。輸入 n(≤ 50)個積分值,每個積分值 ≤ 10^9。有 5 種獎品,價格分別為 cost[0..4]。每獲得一個積分值,
HDU 1196 Lowest Bit:位運算技巧
問題描述 給定正整數 A (1 ≤ A ≤ 100),輸出其二進制表示中最低位的 1 所代表的值(即 A & -A)。輸入以 0 結束,0 不處理。 例如: A
HDU 1194 Beat the Spread!:簡單數學推導
問題描述 給定兩個非負整數 s(和)與 d(絕對差),求兩個非負整數 x、y(x ≥ y),使得: x + y = s |x - y| = d 若無解,輸出 i
POJ 2503 Babelfish:字典翻譯與 Trie/Map 兩種解法
問題描述 給定最多 100,000 條字典條目,每條包含一個英文單詞與一個外語單詞(外語單詞不重複)。隨後給出一段最多 100,000 個外語單詞的信息。要求將
POJ 2001 Shortest Prefixes:字典樹應用詳解
問題描述 給定一組單詞,對於每個單詞找出其最短的唯一前綴。所謂「唯一前綴」是指該前綴在所有單詞中只屬於該單詞,不會與其他單詞產生歧義。例如,單詞集合中有 car
C++ STL 容器全面解析:序列、關聯與適配器
什麼是容器? 容器是能夠存儲其他對象(或指針)的對象類型,封裝了數據存儲與操作邏輯,實現了代碼復用。STL 容器還具備自動內存管理、動態擴展能力,解決了數組大小
LeetCode 134 Gas Station:環形加油站問題的貪心解法
問題描述 有 N 個加油站環形分布,第 i 站有汽油 gas[i],開往下一站消耗 cost[i]。車油箱無限大,起始油量為 0。求能否繞行一圈,若能返回起始站