Contest2156 - 2019-3-7 高一noip基礎知識點 測試2 題解版
阿新 • • 發佈:2019-03-25
return nal 打了 output 思路 rom noip rst 狀態壓縮
兩個判錯之間在逗號前差了一個空格 QAQ
傳送門
預計得分:100+70+100+50=320
實際得分100+63+77+30=270
Ctrl_C+Ctrl_V時不要粘貼翻譯的,直接粘原文,
In a single line of the output print an integer — the maximum loyalty among all paths from the first node to the n-th one. If such paths do not exist or the maximum loyalty equals 0, print in a single line "Nice work, Dima!" without the quotes. 輸出能從1出發到n的總數值數,如果沒有,輸出“Nice work,Dima!”
T1
dfs+剪枝
對於搜到的一組(a,b,c),將a*t^2+b*t+1(t>=20)標記,下一次再經過時就直接return
代碼
T2
容易想到區間一定是連續的
但是這種容易想到的一般都是錯的
例如數據
3 3
1 2 1 2
2 3 1 10000
1 2 7 8
顯然區間不是連續的。
於是,我們的思路是枚舉下界,二分上界,用dfs或是並查集維護1-n的連通
dfs太難打了,david-alwal太懶了,所以用了並查集
T3
個人認為是最簡單的一道題
一個BFS就可以解決
下標不能為負數!!
上代碼
T4
dfs+剪枝
剪枝1:,可行性剪枝:對於一個點(x,y),如果它左上角的顏色加上它走到底下的格子數大於k,就return 0
剪枝2,對稱性剪枝:例如我們當前填到了某個格子,我們記錄一下整個矩陣已使用的顏色,例如3,5都還沒用,那麽這個格子填上3或5,兩者最終算出的方案數是相同的,這樣我們就可以只計算3的方案數,5的直接加上3的就可以了。
用狀壓存狀態特別方便
沒有單獨講狀態壓縮的博客,只有講狀壓DP的,大家就只看狀壓那部分的吧 詳解狀壓 David-alwal太懶了
上代碼
Contest2156 - 2019-3-7 高一noip基礎知識點 測試2 題解版