BZOJ 1221 HNOI 2001 軟件開發:最小費用最大流解餐巾問題
問題建模 每天需 ri 條毛巾。新買花費 c,快洗 d1 天花費 f1,慢洗 d2 天花費 f2。毛巾可重複使用。求滿足所有天數需求的最小總花費。 網絡流構圖
BZOJ 2165 大樓:倍增 Floyd 解決長度約束最短路
問題描述 給定有向圖,邊權為長度。求從 1 號點出發,總長度 ≥ K 的路徑中,經過最少邊數。n ≤ 100,K ≤ 1018。 倍增思想 預處理 f[p][
iOS 開發常用工具方法:NSString、NSDate、NSArray 分類封裝
字符串處理分類 // JSON 序列化 - (NSString *)jsonFromObject:(id)obj { NSError *err;
QML 與 C++ 混合編程詳解:雙向交互完整指南
為什麼混合編程 QML 擅長聲明式 UI 構建,C++ 擅長業務邏輯與高性能計算。結合兩者:QML 做界面,C++ 做核心,通過 Qt 元對象系統實現無縫交互。
C++ 算法:查找字符串中第一個只出現一次的字符
問題描述 給定字符串,找出首個出現次數為 1 的字符。例:「abaccdeff」→ b。 解法:計數數組 + 兩次遍歷 建立大小 256 的整型數組 cnt
NYOJ 最強 DE 戰斗力:大數乘法與最優分組策略
問題大意 將 N (≤1000) 名士兵分成若干隊伍,戰斗力為各隊人數乘積。求最大戰斗力並輸出完整結果(大數)。 數學規律 將 N 拆分為若干正整數之和,使乘
HDOJ 2202 最大三角形:凸包 + 旋轉卡殼算法
問題描述 給定平面 n (≤50,000) 個點,求由其任三點組成的最大三角形面積,保留兩位小數。 算法流程 求凸包:Andrew 算法 O(n log n
BZOJ 3823 定情信物:n 維立方體元素計數推導
問題描述 定義 0 維元素為點,1 維為線,2 維為面,3 維為體,以此類推。求 n 維立方體中各維元素個數,輸出所有維度個數的異或和模 p。 規律發現 令
HDU 1754 I Hate It:線段樹區間最大值查詢與單點更新
題目大意 維護 N (≤200,000) 名學生成績,支持 M (≤5,000) 次操作: Q A B:查詢區間 [A,B] 最大分數 U A B:將第 A 名
POJ 1141 括號匹配:區間 DP 求最少添加括號數
問題描述 給定由 ()[] 組成的字符串,在其中插入最少字符使其成為合法括號序列,並輸出任一合法結果。長度 ≤ 100。 DP 定義 dp[i][j]:區間
HDU 2072 統計單詞數:set 容器去重與 stringstream 分詞
題目要求 讀入多行文本,每行統計不同單詞數量。單詞由空格分隔,遇到 # 獨佔一行結束。 核心思路 set<string> 自動去重 string
C++ 缺省參數詳解:默認值、重載區別與最佳實踐
什麼是缺省參數 函數聲明時為參數指定默認值,調用時可省略該參數。語法:void func(int a=0, int b=1); 普通函數示例 void fun
C++ 函數重載詳解:普通函數、成員函數與構造函數
重載規則 同一作用域內,函數名相同但參數列表不同(類型、個數、順序),即構成重載。返回類型不參與重載區分。 三種常見重載形式 1. 普通函數重載 void
大話設計模式 C++ 實現:解釋器模式詳解
模式定義 給定一種語言,定義其文法表示,並提供一個解釋器,使用該表示來解釋語言中的句子。適用於:文法較簡單、需要頻繁解釋執行的場景。 核心角色 角色職責 A
UVA 12563 Jin Ge Jin Qu hao:01 背包變體求最大歌曲數
問題大意 有 N 首歌,每首長度 ti。總時間限制 T,但最後必須預留 678 秒(固定尾聲)。求在不超時前提下,最多能放多少首歌;若歌曲數相同,總時長越長越優
LeetCode Excel Sheet Column Title:26 進制轉換巧解
問題描述 給定正整數 n,返回 Excel 欄標題。規則:1→A, 2→B, ..., 26→Z, 27→AA, 28→AB... 本質是「無 0 的 26 進
UVA 12299 RMQ with Shifts:線段樹單點更新應用
問題描述 維護一個動態數組,支持兩種操作: 1. query(L,R):查詢區間最小值 2. shift(i1,i2,...,ik):對指定索引循環左移,即 A
C++ 函數指針詳解:定義、調用與回調應用
什麼是函數指針 函數在內存中佔據一塊代碼區,其入口地址即為函數指針。定義一個指針變量指向該地址,即可通過指針調用函數,實現動態綁定與回調。 聲明語法 返回類型