牛客網算法教學
文章平均质量分 93
ZustinLau
I am currently studying Economics at the Chinese University of Hong Kong and I am interested in data structure and algorithms.
展开
-
牛客算法課 (算法入門班) 二分, 三分, 01分數規劃
我們二分答案, 有多少套牌.然後如果二分出來的是 x套牌, 我們檢查, 組成x套牌需要用到多少張joker, 如果joker的數量超過x, 說明同一個組合裡用到了超過1張的joker. 我們還要檢查使用的joker 有沒有超過題目限定的m.給定每天有多少個教室可以借. 和. 每天有多少份訂單(包括借出和反還時間 和 數量).暴力思路, 直接遍歷每天的訂單 同時 修改每天可以借出的教室, 用 O(n * m * (t - s)),這個顯然會超時.由於我們知道, 如果某一個天所有教室都借出去了, 然後有人再借那原创 2022-06-28 10:13:28 · 401 阅读 · 0 评论 -
牛客算法課 (算法入門班) 貪心與模擬(4)
給定長度為n的整數數列{Ai}, 找出兩個整數 ai 和 aj (i < j), 使得ai - aj盡量的大.暴力一定是固定一個點ai, 枚舉aj, 然後打擂台.你會發現如果我們把後綴最小的aj 提前算出來, 我們就可以省略一個nested loop去找最小aj了.又或者你固定aj, 去找前綴最大ai.思維講解 沒有代碼一開始直接有一個思路就是按照字典序排序, 然後從大到小合拼, 但是, 由於每個數字的長度不一樣, 所以有機會出錯, 我們可以考慮, 比較的時候, 讓a + b 和 b + a 去比字典序,原创 2022-06-13 23:31:56 · 209 阅读 · 0 评论 -
牛客算法課 (算法入門班) 貪心與模擬(3)
我們考慮使用二進制的表示整個矩陣, 然後透過位運算來實現按按鈕的變化.由於同一個按鈕, 按兩次就會等於沒有按過, 所以我們所有按鈕只會按一次. 還有每一個按鈕可以影響的區域為上下左右, 所以與隔離自己超過兩格的地方都沒有直接關係. 因此我們考慮, 我們每一次都會在第i行, 嘗試把第i - 1 行所有格子變為黑, 或全白.那麼剩下的難題就是第一行應該怎麼去改? 考慮所有可能性, 我們只有第一行要枚舉可能性, 剩下的行數就已經可以確認他們的狀態了, 這就跟掃地雷的那一題是一樣的原理.由於題目是問操作次數, 所以原创 2022-06-11 18:00:19 · 57 阅读 · 0 评论 -
牛客算法課 (算法入門班) 貪心與模擬(2)
目录[HNOI2003]激光炸弹帶權中位數的兩種解法NC107658 poj3061 SubsequenceNC18386 字符串NC207040 丢手绢NC20241 [SCOI2005]扫雷MINE糖糖别胡说,我真的不是签到题目数学考试(值得一做)Xorto(異或前綴和) NC19913[CQOI2009] 中位數圖「土」秘法地震 (垃圾題目, 知道原理就行不要做, 他媽的什麼狗屎輸入, 用cin 就沒辦法做)仓库选址 問區間和拓展至二維, 求矩形和。這個減是減掉重合矩陣dp[i][j] = dp[i]原创 2022-06-10 04:11:46 · 193 阅读 · 1 评论 -
牛客算法課 (算法入門班) 貪心與模擬(1)
算法的特征:1. 有窮性: 總是在執行有限步後結束2. 確定性: 算法的每一步驟是有明確的定義3. 輸入: 算法可以有輸入可以沒有輸入4. 輸出: 至少有一個輸出5. 可行性: 每一步都是在有限時間內完成算法的評價:1. 正確性2. 可讀性3. 容錯性4. 時間複雜度5. 空間複雜度模擬是什麼?題目讓你幹什麼就幹什麼列題一看就知道 要刪前 後加, 還要查詢 在不在裡面.方法 set + dequedeque的size 大過 m, 就刪除 然後加入新數字[NOIP2011]铺地毯給n張地毯, 求某個原创 2022-06-07 06:13:59 · 126 阅读 · 0 评论