Java UDP 通信:DatagramSocket 與 DatagramPacket 完整示例
核心類 DatagramSocket:UDP 套接字,綁定端口收發數據報。 DatagramPacket:數據報封裝,含數據緩衝區、長度、目標/源地址端口。
HDU 1689 Alien's Necklace:BFS 求最小奇數環
題目大意 無向圖,求長度 ≥ 3 且為奇數的最小環。若不存在輸出 Poor JYY.,否則輸出環長。 核心難點 普通 BFS 用一維 vis[] 只能判斷是否
HDU 2686 Matrix:最大費用流解矩陣往返路徑最大和
題目大意 n×n 矩陣,每格有正整數權值。從左上角 (0,0) 走到右下角 (n-1,n-1)(只能右/下),再原路返回(只能左/上),起終點可重複,其餘格子不
行為型設計模式:Interpreter(解釋器)模式完整指南
1. 意圖 給定一個語言,定義其文法表示,並定義一個解釋器,使用該表示解釋語言中的句子。 2. 適用性 有簡單文法需解釋執行,且句子可表示為抽象語法樹(AS
UVA 10515:求 m^n 的個位數 — 規律 + 大數取模
題目 給兩個正整數 m, n (0 ≤ m,n ≤ 10^101),求 m^n 的最後一位數字。輸入以 0 0 結束。 核心觀察 只看 m 的個位:乘法進位
行為型設計模式:Mediator(中介者)模式完整指南
1. 意圖 用一個中介對象封裝一系列對象交互,使各對象不顯式相互引用,降低耦合,且可獨立改變交互行為。 2. 動機 面向對象設計鼓勵行為分布,但過度分布導致對
LeetCode 45:Jump Game II —— 貪心算法優化詳解
題目 給定非負整數數組,初始位於索引 0。每個元素代表該位置最大跳躍長度。求到達最後一個索引的最小跳躍次數。 範例 輸入: [2,3,1,1,4] 輸出: 2
行為型設計模式:State(狀態)模式完整指南
1. 意圖 允許對象在內部狀態改變時改變其行為,對象看起來似乎修改了它的類。 2. 別名 Objects for States 3. 動機 TCP 連接對象
行為型設計模式:Memento(備忘錄)模式完整指南
1. 意圖 在不破壞封裝性的前提下,捕獲對象內部狀態並在該對象外部保存,以便日後恢復到該狀態。 2. 別名 Token 3. 動機 需實現「撤銷」、「檢查點
Acdream 1113 The Arrow:概率 DP 求期望骰子次數
題目大意 從位置 0 開始,每次擲均勻骰子(1~6),當前位 x,擲到 y。若 n 則停留在 x,否則移動到 x+y。求從 0 到達 n 的期望擲骰次數。
HDU ACM 1297 Children's Queue:大數加法與遞推關係
題目大意 有 N 個孩子排隊,男孩(B)女孩(G)。要求不能有單獨一個女孩相鄰(即女孩必須成雙成對出現)。求合法隊形數。N ≤ 1000,答案極大,需大數輸出。
LeetCode 9:回文數判斷 —— 不用額外空間的數學解法
題目 判斷整數是否為回文數。不能使用額外空間(即不能轉字符串)。負數不是回文;個位為 0 的非零數也不是(如 10)。 核心思路:只反轉一半數字 將數字後半部
STM32Cube 實現 printf 串口輸出與單字節中斷接收
背景 STM32Cube HAL 庫提供的 HAL_UART_Transmit/Receive 系列函數需預知數據長度,無法直接支援 printf 這類流式輸出
BZOJ 2152 聰聰可可:樹上點分治統計權值和為 3 的倍數點對
題目大意 給定一棵 n 個節點的樹,邊權為 0/1/2。求節點對 (u,v) 數量,使得路徑上邊權和模 3 為 0。答案需化為最簡分數 p/q。 核心算法:點
LeetCode 14:最長公共前綴 —— 多種解法對比與優化
題目 編寫函數查找字符串數組中的最長公共前綴。若不存在公共前綴,返回空字符串 。 核心思路對比 方法思路時間複雜度備註 橫向掃描以第一個串為基準,依次與其餘
LeetCode 95:不同的二叉搜索樹 II —— 遞歸生成所有結構
題目 給定 n,生成所有鍵值為 1...n 的結構不同的二叉搜索樹(BST)。返回所有可能的樹根節點列表。 範例 n = 3 時共有 5 棵不同結構的 BST
HDU 2126 買紀念品:0-1 背包求最大種類數與方案數
題目大意 有 n 種紀念品,每種價格 w[i],擁有 m 元錢。每種最多買一件。求: 最多能買幾種不同紀念品(即最大件數 K)? 在買 K 種的前提下,共有多