LeetCode 風格:搜索插入位置(查找有序數組中目標值或應插入下標)
問題描述 給定升序無重複數組 nums 和 target,返回目標值下標;若不存在,返回按順序插入時的下標。 示例:[1,3,5,6], 5→2; 2→1; 7
LeetCode 風格:搜索已排序數組中目標值的起始與結束位置
問題描述 給定升序整數數組 nums 和目標值 target,找出 target 的起始和結束下標。時間復雜度 O(log n)。不存在返回 [-1, -1]。
HDU 1160 FatMouse's Speed:權值遞增、速度遞減的最長序列(LIS 變體)
問題描述 給定若干老鼠,每鼠有重量 W 和速度 S。求最長序列使得重量嚴格遞增、速度嚴格遞減。輸出長度及原始索引序列。 核心思路:排序 + LIS 按 重量
HDU 2133 What day is it:日期合法性判斷與星期計算
問題描述 輸入年月日,判斷日期是否合法。合法則輸出星期幾(公元 1 年 1 月 1 日是星期一),否則輸出 illegal。 核心邏輯 1. 日期合法性判斷
NBUT 1413 Weight 解題報告:0-1 背包變體與生成函數求砝碼組合數
題目大意 給定 n (≤100) 個砝碼,每個重量 ≤100。每個砝碼視為不同(即使重量相同)。求能稱出的所有可能重量及其組合方案數,方案數模 10000000
POJ 2418 Hardwood Species 解題報告:二叉搜索樹統計樹種頻率
題目背景 POJ 2418 要求統計衛星拍攝到的每棵樹的樹種名稱,按字母序輸出各樹種名稱及其佔總數的百分比(保留 4 位小數)。輸入規模:最多 1,000,00
HDU 3342 解題報告:拓撲排序判斷有向無環圖
題目概述 HDU 3342 是一道經典的拓撲排序應用題。給定一個有向圖,要求判斷該圖是否為有向無環圖(DAG)。若存在拓撲序列,輸出 YES,否則輸出 NO。
Socket 編程獲取服務器時間:TCP 客戶端/服務端完整示例
實驗目標 掌握 TCP Socket 編程流程:客戶端連接服務器,服務器返回當前時間,客戶端顯示。演示 socket、bind、listen、accept、co
HDOJ 1254 推箱子:雙層 BFS 求最少推動次數
題目描述 M×N 房間(M,N ≤ 10),包含牆壁(1)、箱子(2)、目標(3)、人(4)、空地(0)。人可上下左右移動,只能推箱子(不能拉),每次推動箱子移
C++ 狀態機框架設計:基於模板的通用 FSM 實現
背景與動機 在遊戲開發(如 Cocos2d-x)中,實體(角色、敵人、NPC)常有多種狀態(待機、移動、攻擊、死亡等)。硬編碼 if-else 或 switch
寧波工程學院 1409 鼹鼠刨路:大數 DP 遞推解法
題目大意 鼹鼠在無限網格中移動,每步只能向北、東、西三個方向(不能後退/向南),且不能重複進入已刨過的格子。求走 n 步(1 ≤ n ≤ 100)的不同路徑總數
Codeforces Round #179 DIY2 第二題:不可比較字符串計數
題目重述 給定兩個等長字符串 s, w(長度 n),字符為數字或 ?。將 ? 替換為 0-9 後,若存在 i, j 使 s[i] < w[i] 且 s[j
BZOJ 2599 Race:點分治求權值和為 K 的最短路徑
題目描述 給定一棵帶權樹(邊權為正整數),求一條路徑使其邊權和恰好等於 K,且邊數(路徑長度)最小。若不存在輸出 -1。 N ≤ 200,000,K ≤ 1,0
求解所有水仙花數(阿姆斯特朗數):大數位運算算法詳解
什麼是水仙花數? N 位數若滿足「各位數字的 N 次方和等於該數本身」,稱為 N 位水仙花數(Narcissistic Number,又稱阿姆斯特朗數或回歸數)
HDOJ 2094 產生冠軍:拓撲排序判定唯一冠軍
題目大意 給定 n1),則無法產生唯一冠軍。 核心觀察 這是一道偽裝的拓撲排序入度統計題 只需統計「無前驅節點(入度為 0)的個數」 若為 1 → Yes,
HDU 4534 AC 自動機 + DP:字符串遊戲求解
題目背景 給定一組模式串(含得分、禁用、必選標記)與一個目標串,需在目標串中刪除若干字符(或不刪除),使剩餘串包含所有必選模式、不含任何禁用模式,且總得分最大。
HDU 1569 網絡流 Dinic 算法模板詳解
為什麼選擇 Dinic? EK 算法(Edmonds-Karp)雖然經典,但時間複雜度 O(VE²) 在大規模圖上表現疲軟。Dinic 算法通過分層圖與阻塞流優