LOL One Key - 英雄聯盟一鍵施法工具開發經驗
專案背景 開發英雄聯盟(LOL)一鍵連招工具,嘗試全局熱鍵註冊、鍵盤 Hook 均失效,推測騰訊遊戲保護(TP)在驅動層攔截相關 API。 嘗試方案與失敗原因
C++11 編譯期檢測類型是否支持 operator== (SFINAE)
需求 在編譯期獲得常量 bool,指示類型 A 和 B 的實例能否用 == 比較。用於委託 (delegate) 等場景:有 == 則用它比較,否則退化為地址比
C++ 運算符重載詳解:輸入輸出、算術、關系、下標、自增、成員訪問
1. 輸入輸出運算符 () 必須為非成員函數(左操作數是流對象,非自定義類)。 聲明為 friend 以訪問私有成員。 參數/返回值均為引用:ostream&
UVA 11127 - Triple-Free Binary Strings (DFS + 位運算)
問題描述 給定模式串 P(含 0,1,*),* 可替換為 0/1。求符合模式的二進制串中,不含任何子串形如 SSS(三個相同串連接) 的串的數量。|P| < 3
UVA 225 - Golygons (DFS 回溯 + 剪枝)
問題描述 從 (0,0) 出發,第 i 步走 i 個單位長度(方向:東北西南四向之一),要求: 每步必須轉向(不能直行、不能後退)。 不能經過障礙點。 不能重
UVA 818 - Cutting Chains (暴力位掩碼 + 圖論判斷)
問題描述 給定若干環及其連接關係。打開一個環可將其切斷並用於連接其他環。求最少打開多少個環,使所有環連成一條鏈(非環)。n ≤ 15。 暴力枚舉子集 用整數
Java 與 C/C++ 對待 a = a++ 的差異:未定義行為 vs 定義行為
現象對比 int a = 1; a = a++; **C/C++ (MSVC, GCC)**:`a = 2`。編譯器生成類似 `a = a; a++;`
Codeforces 215C - Crosses (枚舉幾何參數)
問題描述 (題目原文缺失,從代碼推測)在 n×m 網格中放置「十字」形狀,由參數 a,b,c,d 定義。枚舉 a,b,d 計算 c,統計合法放置數。答案對大數取
C/C++ 常用算法:歸並排序 (Merge Sort) 完整實現與圖解
歸並排序原理 分治法:將數組遞歸二分直到單元素,再合併兩個有序子數組。核心操作 Merge:雙指針線性合併兩個有序數組。 過程圖解 (原文配有動態圖,此處文字
C++ 入門筆記 (一):文件結構、對象初始化、delete、權限、this、構造/拷貝/析構、預編譯、static
1. 面向對象文件結構 .h:類定義(成員變量、函數聲明)。 .cpp:成員函數實現。 main.cpp:主函數。 2. 成員函數存儲 成員函數代碼存儲在
Codeforces 208B - Solitaire (狀態壓縮 DFS + 記憶化)
問題描述 52 張牌按順序排成一行。操作:若相鄰兩張牌花色或點數相同,可將右邊那張疊到左邊那張上(疊後只保留上層牌屬性)。問能否通過操作使所有牌疊成一堆。 狀
C++ 基礎筆記:靜態成員、靜態方法、友元、類嵌套
1. 靜態成員變量 屬於類,不屬於對象,全類共享唯一實例。 類內聲明(static int id;),類外定義(int A::id = 0;)。 訪問:A::
C++ 友元詳解:友元函數、友元類、友元成員函數
核心概念 友元機制打破封裝,允許類外函數或類訪問類的 private/protected 成員。友元聲明在類內部,不受訪問控制限制。 三種形式 1. 普通函數
POJ 2942 Knights of the Round Table - 雙連通分量 + Tarjan + 二分圖判定奇環
問題描述 2 的奇數。無法參加任何會議的騎士必須踢出。求最少踢出人數。 關鍵轉化 建立補圖:原圖邊為仇恨,補圖邊為「可相鄰」。騎士能圍坐成奇數圈 ⇔ 補圖中
C++ Primer Plus 第 6 版 第 3 章 處理數據 — 習題與編程練習參考
複習題精選 整型分類原因:單一整型無法滿足所有編程需求。 `33L` 是 long,`33` 是 int。 浮點轉整型可能有捨入誤差,視精度位數而定。 字符與
C/C++ 基本排序算法:直接插入排序與希爾排序
1. 直接插入排序 思想:將待排記錄插入已排好序的有序表中,類似打撲克牌整理手牌。 步驟: 初始視 R[1] 為有序區,R[2..n] 為無序區。 依次取無序
C++ 二維數組作為函數參數的兩種正確姿勢
兩種定義方式的本質區別 方式代碼內存佈局 A:靜態二維數組`int Arr[2][3] = {{1,2,3},{4,5,6}};`按行連續存儲 B:動態指針數