URAL 1806 解題報告:狀態壓縮 + SPFA 最短路
題目背景 URAL 1806 是一道經典的狀態空間最短路問題。給定 n 個 10 位數字狀態,每個狀態可通過修改某一位數字(代價為該位的權值)或交換兩位數字(代
華為面試題:查找字串中的大寫字母並逆序輸出
題目描述 給定一個字串,找出其中所有的大寫英文字母(A-Z),並將它們按出現順序的逆序輸出。例如輸入 Go Back to Your Places and Sc
HDU 1106 排序問題詳解:以 5 為分隔符提取並排序整數
題目概述 HDU 1106 是一道經典的字串處理與排序題目。題目要求讀入一行不含空格的數字字串,將其中所有的 5 視為分隔符,分割出若干非負整數。這些整數可能包
Codeforces 295E Yaroslav and Points:線段樹維護區間點對距離和
問題描述 數軸上有 n 個點,初始坐標為 x_i。支援兩種操作: 移動點:將第 i 個點平移 d 單位(正右負左)。 區間查詢:求坐標在 [l, r] 區間內
Codeforces 292E Copying Data:線段樹區間複製與單點查詢詳解
問題描述 給定兩個長度為 n 的陣列 a 和 b,支援兩種操作: 區間複製:將 a[x...x+k-1] 複製到 b[y...y+k-1]。 單點查詢:詢問當
多重繼承中純虛函數的進階應用:強制子類實現介面契約
前言:中間層類的設計困境 在 C++ 多重繼承體系中,處於中間層的類別往往扮演著「協調者」的角色:它們本身不會被實例化,但必須定義特定行為,並強制要求最終的具體
經典排序算法 C++ 實現:快速排序、堆排序與歸並排序完整代碼
排序算法屬性速查 算法平均時間最壞時間空間穩定性 冒泡排序O(n²)O(n²)O(1)穩定 選擇排序O(n²)O(n²)O(1)不穩定 快速排序O(n log
HDOJ 1285 確定比賽名次:拓撲排序(Kahn 算法)模板題
問題描述 有 n 支隊伍(編號 1~n)和 m 條比賽結果 a b 表示隊伍 a 排名優於 b。輸出一個滿足所有條件的排名順序。保證至少存在一個合法拓撲序。若多
NYOJ 38 布線問題:最小生成樹 Prim 與 Kruskal 算法完整對比
問題描述 給定 V 個村莊(節點)和 E 條可建設的道路(邊),每條邊有建設成本。此外每個村莊挖井有成本。目標:使所有村莊要么通過道路連通,要么自己挖井,總成本
鏈表倒數第 K 個節點:雙指針單遍歷 O(1) 空間解法
問題描述 給定單向鏈表頭節點 head 和正整數 k,返回倒數第 k 個節點(倒數第 1 個即尾節點)。若 k 大於鏈表長度或鏈表為空,返回 nullptr。
C++ 虛函數底層機制深度解析:虛函數表、指針佈局與手動調用實驗
虛函數與多態核心 虛函數實現**運行時多態**:基類指針/引用指向派生類對象,調用虛函數時動態綁定到派生類實現。編譯器通過**虛函數表(vtable)**實現此
HDU 1181 變形課:字母鏈 DFS 判定 b 能否到達 m
問題描述 輸入多組測試數據,每組包含若干單詞(小寫字母組成),以單獨一行 0 結束。每個單詞表示一條有向邊:首字母 → 尾字母。問是否存在從 b 到 m 的路徑
UVA 10069 Distinct Subsequences:大數 DP 計算不同子序列數
問題描述 給定兩個字串 S(長度 m ≤ 10000)和 T(長度 n ≤ 100)。求 T 作為 S 的子序列出現的次數。結果可能極大(超過 64 位),需高
HOJ 2577 Simple Computing II:容斥原理計算「恰好被一個數整除」的個數
問題描述 給定 n 個正整數 x₁…xₙ(n ≤ 11)和上界 m。求區間 [1, m] 中有多少整數**恰好**能被這 n 個數中的**唯一一個**整除。
HDU 1198 Farm Irrigation:管道連通塊計數(DFS + 並查集雙解法)
問題描述 給定一個 n × m 的網格,每個格子包含一種管道(A~K 共 11 種),每種管道在上下左右四個方向有固定的開口/封閉配置。兩個相鄰格子若**彼此都
HDU 1175 連連看判定:限制轉彎次數的 BFS 解法詳解
問題描述 給定一個 n × m 的棋盤,每個格子要麼為空(0),要麼有一個棋子(非 0 數字表示顏色/類型)。詢問若干次:能否選擇兩個相同類型的非空格子,使它們
數位電視 TS 封包解碼核心函數 dvbpsi_PushPacket 深度解析
函數概覽 dvbpsi_PushPacket 是 libdvbpsi 庫中負責將 MPEG-TS 封包推送給 PSI 解碼器的核心入口。它負責同步字節檢查、連續
POJ 1195 手機基站問題:二維樹狀數組(Fenwick Tree)完整解析
問題背景 這是一道經典的 IOI 2001 題目「Mobile phones」。故事設定在坦佩雷地區的第四代手機基站網絡:區域被劃分為 S × S 的方格矩陣(