LeetCode Longest Substring Without Repeating Characters:滑動窗口優化
題目 給定字符串,找到不含重複字符的最長子串長度。例:abcabcbb → abc 長度 3;bbbbb → b 長度 1。 解法一:集合 + 雙指針(基礎滑
POJ 2337 Catenyms:有向圖歐拉路徑與字典序最小
題目大意 給定 n (3≤n≤1000) 個單詞,每個單詞視為一條有向邊:從首字母指向尾字母。求一條經過所有邊恰好一次的路徑(歐拉路徑),並使拼接後的單詞序列字
Codeforces 375D 子樹顏色統計:四種解法對比
題目大意 給一棵 n (≤10^5) 節點的樹,每節點有顏色。m (≤10^5) 次查詢:詢問以 v 為根的子樹中,出現次數 ≥ k 的顏色有幾種。 四種解法
LeetCode 構造二叉樹:前序+中序 / 後序+中序 遞歸解法
題目 Construct Binary Tree from Preorder and Inorder Traversal Construct Binary T
C++ 面向對象練習:長方柱類數組操作
實驗目的 定義長方柱類 Bulk,構造函數支持默認參數,計算體積、表面積,輸出信息。創建 5 個對象數組,部分用構造函數初始化,部分用輸入函數賦值,最後遍歷輸出
HDU 3746 Cyclic Necklace:KMP 求字符串最小周期補全
題目大意 給定字符串 s(長度 Len ≤ 100000),只能在尾部添加字符,使其成為循環項鍊(即字符串由某子串重複至少兩次構成)。求最少添加字符數。 核心
POJ 1776 競賽圖的哈密頓路徑構造
題目大意 給定 n (≤1000) 個任務,任意兩任務間有且僅有一條有向邊(競賽圖)。需將所有任務分成最少數量的序列,每個序列中任務間有邊相連(即形成路徑)。輸
HDU 1028 Ignatius and the Princess III:母函數求整數分拆數
題目大意 給定正整數 N (≤120),求將 N 表示為若干正整數之和的不同方案數(順序不計,即 3+1 與 1+3 視為同一分拆)。例如 N=4 有 5 種:
Recent Contest #1 (Mar 2014) 題解匯總
比賽回顧 這是一次校內訓練賽,包含多道不同類型的題目,涉及模擬、概率、結論題、組合數學等。以下是各題關鍵思路與代碼片段。 A 題:大模擬 題意理解有誤導致失分
POJ 3083 Children of the Candy Corn:DFS 模擬左右優先 + BFS 最短路
題目大意 給定 W×H 地圖,# 為障礙,. 為空地,S 起點,E 終點。求三種路徑長度: 左轉優先(始終優先嘗試左轉) 右轉優先(始終優先嘗試右轉) 最短路
C++11 並發實戰:四線程循環寫文件(Google 筆試題)
題目描述 有四個線程 1、2、3、4,分別負責輸出數字 1、2、3、4。有四個文件 A、B、C、D,初始為空。要求四線程協作,使文件內容呈現循環移位模式: A
POJ 1753 Flip Game:位運算 + BFS 求最少翻轉步數
題目大意 4x4 棋盤,每格為黑(b)或白(w)。一次操作選一格,翻轉它及其上下左右相鄰格(共 3-5 格)。目標是使全盤同色(全黑或全白)。求最少操作步數,不
POJ 2923 Relocation:01背包 + 狀態壓縮解決搬家問題
題目背景 艾瑪和埃裡克要搬家,有兩輛載重分別為 C1、C2 的車,需搬運 n (≤10) 件重量為 w_i 的傢俱。每次雙車同時出發,裝載總重不超過各自載重。求
LightOJ 1085 All Possible Increasing Subsequences:DP + 離散化 + 樹狀數組
題目大意 給定長度為 n 的序列,求所有嚴格遞增子序列的個數,結果模 1000000007。多組測試數據。 核心思路:動態規劃 + 樹狀數組優化 設 dp[i
POJ 3278 Catch That Cow:BFS 尋找最短抓捕路徑
題目大意 農夫與牛在一條數軸上,農夫初始位置 n,牛位置 k。農夫每步可移動到 x-1、x+1 或 x*2。求農夫抓到牛的最少步數。 解題思路:廣度優先搜索
HDU 4801 Pocket Cube:四面魔方的模擬與搜索解法
題目背景 HDU 4801 Pocket Cube 是一道經典的魔方模擬與搜索題目。這個魔方只有 4 個面,且最大深度僅 7 層,因此可以通過深度優先搜索(DF