C++ 核心知識點大全:繼承、虛函數、模板、函數指針、動態數組
1. 繼承與虛函數對象大小 class A { char A[100]; }; // sizeof = 100 class B : publ
HDU 1197 Specialized Four-Digit Numbers - 三進制數位和相等
題目大意 找出所有四位十進制數(1000~9999),使其十進制、十二進制、十六進制下的數位和相等。無輸入,直接輸出所有符合條件的數,每行一個。 解題思路 直
Sicily 1422 Table Tennis - 數學建模求落袋角落與反射次數
題目大意 矩形桌球桌 ABCD,邊長 m, n(m < n,32 位有符號整數)。球從左下角 A 以 45° 射出,完美反射,最終落入某個角袋。求:落入哪個角袋
POJ 3882 Stammering Aliens - 後綴數組與字符串 Hash 求最長重複子串
題目大意 給定字符串 s(長度 ≤ 40000)和整數 m,求出現次數 ≥ m 的最長子串長度,及其在原串中最右端的出現位置。若不存在輸出 none。 方法一
HDU 1429 - BFS + 狀態壓縮解迷宮尋鑰匙
題目大意 在 n × m 迷宮中(n, m ≤ 30),@ 為起點,^ 為終點,* 為牆。大寫字母 A-J 為門,需對應小寫鑰匙 a-j 開啟。鑰匙最多 10
HDOJ 4135 Co-prime - 容斥原理求區間互質數個數
題目大意 給定 A, B, N(1 ≤ A ≤ B ≤ 1015, 1 ≤ N ≤ 109),求區間 [A, B] 中與 N 互質的整數個數。多組測試數據(T
CF 525D Arthur and Walls - 貪心 + BFS 解法詳解
題目大意 給定 n × m 網格(n, m ≤ 2000),* 表示牆,. 表示空地。相鄰(上下左右)空地形成房間。目標:移除最少牆,使所有房間均為矩形。輸出修
C++ 多重繼承深度解析:構造、析構、轉換與虛繼承
基本概念 多重繼承允許一個類從多個直接基類派生,派生類將繼承所有基類的成員。雖然單繼承在大多數場合足夠,但多重繼承能更自然地建模某些問題域(如:Panda 同時
歐幾里得算法(輾轉相除法)原理與 C++ 實現
算法簡介 歐幾里得算法,又稱輾轉相除法,是求兩個整數最大公約數(GCD)的經典算法,歷史可追溯至公元前 300 年《幾何原本》。利用 GCD 也能輕易求得最小公
HDU 3555 Bomb - 數位 DP 解題詳解
題目大意 給定區間 [Start, Finish],統計其中「圓整數」的個數。正整數 N 的二進位表示中,若 0 的個數大於等於 1 的個數,則稱為圓整數。例如
Base64 編碼原理與 C++ 實現詳解
Base64 編碼原理 Base64 是一種常見的編碼方式,用於將二進位資料轉換為可列印的 ASCII 字元。其核心原理是將 3 個 8 位元組(共 24 位)
Visual Studio 2013 兼容 VC6/VC7/VC8 項目:編譯與調試配置指南
Visual Studio 2013 兼容 VC6/VC7/VC8 項目:編譯與調試配置指南 現代 VS 通過「平台工具集」機制支援舊版編譯器。本文記錄在 VS
藍橋杯「買不到的數目」:弗羅貝尼烏斯數學解法
藍橋杯「買不到的數目」:弗羅貝尼烏斯數學解法 糖果包裝為 a 顆和 b 顆(互質),求最大無法湊出的數量。經典結論:最大不可表示數 = a×b - a - b(
LeetCode 133 Clone Graph:圖的深拷貝 BFS/DFS 實現
LeetCode 133 Clone Graph:圖的深拷貝 BFS/DFS 實現 給定無向圖的一個節點引用,返回圖的深拷貝。節點定義:label 和 neig
HDU 2579 Dating with girls:BFS 在時空迷宮中尋路
HDU 2579 Dating with girls:BFS 在時空迷宮中尋路 迷宮中 # 為石頭,僅在時間為 k 的倍數時可通過。起點 Y,終點 G,求最短步