09-03 NOIP模擬測試36

指望得分:60+64+0ui

實際得分:0+32+0blog

rk33隊列

又炸了,T1暴力細節不到,T2區間dp填表有bug,T3rand數遊戲

這幾回考試在T1上花的時間都太多了,以爲本身能想到正解然而磨了很久只能打暴力是真的難受,仍是注意下取捨吧。暴力何嘗不可更優。class

A. 字符

這題暴力剪枝可A,正解沒看太懂,找時間補下。搜索

 

 

B. 蛋糕

區間dp,考試的時候打完發現大樣例不能過,而後舉了個「反例」,腦抽覺得狀態不能保持全局最優。bug

7 5 2 6 10 infim

從2開始的最優策略:我 2->5->infimg

我錯誤地認爲[3,4]會錯誤的貪到[3,5],然而[2,4]的狀況是有保留的。移動

打的填表稍繞了下就掛了?

仍是本身對dp的理解不透啊,不明白如何證實區間dp的正確性。

考後想了下發現實際上是最後一次更新會和本身比較,然而我沒有判入相等的更新,因而掛了,加了兩個字符AC。。。

 

設dp[i][j],表示[i,j]的蛋糕都被拿完,r-l+1的奇偶決定是誰行動。

轉移就很顯然了

我:dp[i][j]=max(dp[i+1][j]+a[i],dp[i][j-1]+a[j])

她:dp[i][j]=max([a[i]>=a[j+1]]*dp[i+1][j],[a[j]>=a[i-1]]*dp[i][j-1])

也能夠記憶化搜索,比較好寫。

 

C. 遊戲

前兩題把本身搞到心態爆炸,T3沒有留時間。

後來發現T3還算可作。

這題須要幾個性質:

  • 一個莉露露至多行動一次。假設我在隔開的兩段用了同一個莉露露,至關於這個莉露露走了完整的C,那顯然能夠用第一個直接拿着人過來。
  • 不存在一個莉露露帶着人走了一段,而後又把人拋出去的狀況。

若是C<A,那全程拿着走更優

若是C>A,只要選擇拋出去,就會增長B,以後用A走更優。若是中途再拋顯然不優。不拋也是可能的,即Cx<Ax+B

 

考慮整個過程:

必定是一個莉露露拿起由岐,而後選擇拋出給下一個莉露露或者帶着走。重複這個過程

以後的處理相似傳送門那題。

由岐的移動能夠抽象爲不斷召喚莉露露拋出或單步的過程。把這些選擇放到由岐所在的(x,y),建對應權值的邊跑dij便可。

不一樣於傳送門的是有不一樣的移動花費和拋出直線的限制,拋出過程不能轉彎。

定義(x,y,0/1/2)表示在點(x,y),狀態0南北滯空,1東西滯空,2被攜帶。

d[x][y]的預處理與傳送門那題相同,把每一個莉露露放進隊列開始bfs,第一次更新爲最優。

相關文章
相關標籤/搜索