原创 [SMOJ1763]偉大的航路

題目有點繞,注意讀題的時候提取關鍵信息。 分析:既然是要按編號順序進行,就有了一個固定的順序,可以 DP。而且要注意: 由上圖可以發現,對於每個點 i ,都能找到一個點 j ,使最優方案中從 j 運完之後回原點,再從 j+1

原创 [SMOJ2161]棋盤

這道題目是容斥原理的典型例題,主要體現了一種逆向思維。 如果我們試圖直接考慮在某種情況下,每一行和每一列都“不完全爲空”,會發現相對比較難以計算。此時可以反其道而行之,先把所有的情況算出來,然後再減去不合法的情況,會更好辦些,這裏

原创 [SMOJ2088]魔法練習

40%: 暴力枚舉每一個 ? 是變成左括號還是右括號,再檢查合法性,取費用最小的合法方案。 時間複雜度:O(2m) ,其實我覺得對於 n≤100 ,很容易構造出 m 稍微大一點的數據卡掉這種暴力,但出題人居然沒有卡。 (反思:但

原创 sc2017新初三膜你賽2 比賽總結

這次模擬賽自認爲發揮得還可以,最起碼該拿到的分數最後都拿到了。 但是,我說了“最後”,就說明比賽過程其實還是不盡人意的。 首先是略讀各題大意,大概花了幾分鐘。發現 T4 是純淨水,T5 是剛做的單調隊列練習之一,馬上交了這兩題,都

原创 [SMOJ2078]勾股數

解法一: 顯然可以考慮直接在n的範圍內暴力枚舉 a 、b 和 c 並進行判斷統計,時間複雜度爲 O(n3) 。 解法二: 注意到 c2 是兩個完全平方數(其算術平方根恰好爲整數的數)之和,且其自身也是一個完全平方數。則可

原创 最大流、最小割小結

Part I 網絡流問題博大精深,目前我們只學習了其中的一點皮毛,初步認識了最大流問題及其 Edmonds-Karp 算法,瞭解最小割與最大流之間的聯繫,初步掌握了利用最大流解決某些二分圖匹配問題的方法,因此在這裏就談談我對網絡流

原创 [SMOJ2080]賽馬

這題不難聯想到“田忌賽馬”的故事,同樣的馬匹,由於調換一下比賽的順序,就得到了轉敗爲勝的結果。這題的判斷時所採用的策略其實就有點這種味道。 首先,考慮到兩個人要對戰 n 局,則顯然當且僅當 n 爲偶數時,兩人贏的局數有可能相

原创 [SMOJ2090]數謎

20%: 數字最多有 5 位,可以枚舉全排列,判斷是否爲 m 的倍數。但要注意去重,可以直接數組計數。 時間複雜度:記 n 的位數爲 w ,則總共有 Pww 種可能,即 O(w!) 40%:(考試的時候貌似全班都這樣寫的

原创 [SMOJ2192]跳躍

(這題早應該寫題解了,但是好像一直沒時間,拖了好久……) 首先,如果不考慮 bad 點,對於 n=0 的情況,應該怎麼做呢? 比賽的時候,我想着可以用一個二維 dp 拿這部分的分,用滾動數組和前綴和優化一下,時間是三維的,

原创 [SMOJ2166]數列的和

10%: 樸素做法,對於每一個 i 枚舉考察前面的每一個 j ,直接計算。 時間複雜度:O(n2) 50%: 可以將絕對值符號變成分類討論,即Bi=∑(Ai−Aj) ∀Aj<Ai+∑(Aj−Ai) ∀Aj>Ai 顯然,如果

原创 sc2017新初三膜你賽3 比賽總結

這次模擬賽考得比較差,一下子掉到了 rank8,原因主要有幾個方面。 還是一樣,先要回顧自己賽場上的狀態,找找主觀因素。 一開始看 T1 ,以爲是個 DP,但前後都有限制,從沒見過這種類型的,無從下手。順便記下 30% 的暴力

原创 sc2017新初三膜你賽4 比賽總結

這次發揮得像謎一樣,我自己也捉摸不透最近的狀態。賽後想想,感覺不像我應該考出的水平。還是像之前一樣,踏踏實實地分析比賽過程,作自我批評。 由於測試三的時候在某一題上分配了過多的時間,導致另一題的部分分程序在最後沒有調試出來,炸得極

原创 [SMOJ2091]短路

30%: 暴搜+玄學剪枝?(沒試過,不知道會不會 T) n≤5 則最多有 121 個點,建個圖跑個最短路應該還是可以的。 50%: 結論一:最優情況應該只向下或向右走,則可以做一個 O(n2) 的 dp。f[i][j] 表示

原创 [SMOJ2117]Sliding Window(靜態RMQ問題)

單調隊列模板題。 參考代碼: #include <algorithm> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> c

原创 [SMOJ2205]飛行員配對方案問題(二分圖最大匹配)

這題是典型的二分圖最大匹配問題,雖然也有專門求解這類問題的算法,但也可以直接用我們已學過的最大流解決。 題目的大意是有 m 名外籍飛行員和 (n−m) 名英國飛行員,其中每名外籍飛行員可以與若干英國飛行員配合。要求使外籍飛行員