Codeforces 377A Maze:DFS 保留連通分量構造解
問題重述 給定 n×m 迷宮,. 為空地,# 為牆。初始空地連通。需將恰好 k 個空地改為 X,使剩餘空地保持連通。輸出任意合法方案。 核心思路:DFS 截取
BZOJ SDOI 2010 大陸爭霸:帶結界約束的最短路——拓撲序 + Dijkstra 優化 O((N+M) log N)
問題建模 有向圖 N 點 M 邊,邊權 w。點 1 為起點,點 N 為終點(大神殿)。每個點 i 有 L_i 個「結界發生器」分佈在其他點,必須**先摧毀所有發
Effective C++ 條款10:重載賦值運算符返回 *this 參考——支持鏈式賦值與標準庫約定
鏈式賦值需求 C++ 內置類型支持鏈式賦值:x = y = z = 15 等價於 x = (y = (z = 15))。為使自定義類型行為一致,賦值運算符**必
POJ 2774 Long Long Message:後綴數組求兩字符串最長公共子串
問題轉化 給定兩個長字符串(各 ≤ 100,000),中間可能夾雜干擾字符。兩字符串源自同一原始短信,兩側各有冗餘。求原始短信最大可能長度 → **兩字符串的最
UVA 687 Lattice Practices:4×4 繭床拼圖暴力枚舉與對稱去重
問題背景 4×4 繭床由 10 塊長方形板組成,每板有 5 縫(淺/深)。5 板豎放,5 板橫放,淺深配對。板可翻轉(左右/前後對稱視為同一塊)。求本質不同的拼
Effective C++ 條款11:處理自我賦值——身份檢查、異常安全與 Copy-and-Swap 惯用法
自我賦值無處不在 看似愚蠢的 a = a 實際常發生:a[i] = a[j]、*p = *q(p,q 可能指向同一對象)、基類引用與派生指針別名等。編譯器不會阻
UVALive 5088 Alice and Bob's Trip:博弈論與樹形 DP 求最大路徑長度
問題大意 給定一棵有向樹(根為 0),邊有長度。Alice(想走最短)與 Bob(想走最長)從根 0 出發,**Bob 先選**,然後交替選擇下一條邊。總路徑長
BZOJ NOI 2010 能量采集:網格點 GCD 求和與容斥優化 O(n log n) 解法
問題建模 n × m 網格,植物座標 (x, y),1 ≤ x ≤ n, 1 ≤ y ≤ m。能量匯集機在 (0,0)。連接線段上經過 k 棵植物(不含端點),
Codeforces 377A Maze:在連通迷宮中保留 s-k 個空格使其保持連通
問題大意 給定 n × m 網格迷宮,. 為空地,# 為牆。初始所有空地連通(4 方向相連)。需將恰好 k 個空地變為牆(標記為 X),使剩餘空地仍連通。保證有
Codeforces 214B Hometask:從數字集合構造最大能被2、3、5整除的整數
問題重述 給定 n 個數字(0-9),選擇其中部分(可全選)組成一個整數,要求: 無前導零(除非數字本身就是 0)。 該數能被 2、3、5 同時整除(即能被
C/C++ 嵌入 Lua 腳本:字符串操作完整指南
前言 Lua 是輕量級嵌入式腳本語言,廣泛用於遊戲邏輯、配置、UI 腳本等場景。C/C++ 宿主程式與 Lua 交互的核心是虛擬棧。本文系統梳理字符串相關的棧操
LeetCode/GfG 經典面試題:最長遞增子序列(LIS)動態規劃 O(n²) 解法詳解
問題定義 給定整數數組,找到最長嚴格遞增子序列的長度。子序列不要求連續,但順序不可改變。 示例:{10, 22, 9, 33, 21, 50, 41, 60,
Effective C++ 條款27:盡量減少轉型動作——新式轉型、替代設計與封裝策略
轉型破壞類型系統 C++ 類型系統旨在防止類型錯誤,但轉型(cast)繞過編譯器檢查,可能引入難以發現的運行時錯誤。舊式轉型 (T)expr 或 T(expr)
Effective C++ 條款12:拷貝對象時務必拷貝所有成員與基類部分
核心法則 拷貝構造函數與拷貝賦值運算符必須確保: 1. 拷貝對象所有非靜態成員變量。 2. 調用所有基類對應的拷貝函數。 典型錯誤:遺漏成員 class
C++ 模板實戰(五):手把手實現帶迭代器的容器——雙向鏈表與紅黑樹
迭代器模式:容器與算法的解耦橋樑 STL 容器通過統一的迭代器接口對外暴露數據遍歷能力,算法僅操作迭代器,從而擺脫對具體容器類型的依賴。本文通過兩個完整示例演示
LookAround 開源之旅:一款基於 MVC 的 Android 圖文資訊客戶端架構解析
項目簡介 LookAround 是一款面向 Android 的免費圖文資訊應用,聚合美食、星座、寫真、文學、美女等頻道,界面簡潔、操作流暢,支援圖文分享與個性收
C++ 模板實戰(四):模板特化全面指南——從類模板到函數模板、編譯期遞歸
為什麼需要模板特化? 模板旨在通用,但現實中總存在特殊類型需特殊處理(如針對 char* 的字符串比較、特定類型的優化實現)。特化允許為特定模板參數提供定制化代