感受到了生活的艱辛qaq...這才是真正的爆錘啊...(因為t1t3還沒有理解所以只能貼t2叻qaq
區間dp...爆哭把題理解錯了,以為隨著拿的東西越來越多,斷點也會越來越多,出現可以選很多的情況qaq,然而是不會的,自始至終只會有乙個斷點,哥哥和妹妹取都只有兩個方向,而妹妹還是強制選擇的qaq。
所以把環展開就是乙個區間dp叻,列舉長度(長度作為層數)、區間,因為是從長度小的轉移到長度多的,區間根據長度的奇偶性可以判斷當前該誰拿,如果是妹妹,就在兩端取大的更新區間(不加dp值),如果是哥哥就往兩邊都更新。
#include#include雖然題沒有改完,但是殺了只豬都不吃風風吹牛羊槽鴨雞!!!!!!!rzrzrzrzrzrzrzrzrzrzrzrzrzrzrzrzrzrz_ruben笨#include
#define ll long long
using
namespace
std;
ll dp[
4005][4005], a[4005
];int
n;int
main ( )
else}}
ll ans = 0
;
for ( int i = 1; i <= nn - n + 1; i ++)
ans = max ( ans, dp[i][i+n-1
] );
printf (
"%i64d
", ans );
return0;
}
校內測試 祖先(DP)
首先這個題顯然是應該考慮字元合併,一開始看到這個題的時候想到了某個名字就叫做 字元合併 的撞鴨dp題目。但是那個題和這個題還是有很多不同的地方的,首先這個題可能合併到最後串長仍然很大所以肯定不能撞鴨,並且合併過的字元可能還可以繼續合併,所以好像有點gg。然而這個題可以用某種叫做 看資料範圍猜做法 l...
校內測試 城堡
矩陣中求左上角的點到右下角的點的距離,不能從下往上走 方案1 動規 初步判定演算法 對於這題,只能從上往下行走,對於到達每乙個點的最優值,一定是從最上方下來的最優值,與左右兩邊最優值的比較,初步確定演算法動態規劃 分析初步演算法 對於從兩邊來的最優值,只有左邊目前是一路dp過來的最優值,而對於右邊則...
矩陣快速冪優化DP 校內測試
實際上是水水題叻,先把樸素dp方程寫出來,發現 dp i 實際上是 dp i k dp i 1 的和,而看資料範圍,我們實際上是要快速地求得這段的和,突然就意識到是矩陣快速冪叻。構建矩陣什麼的還是很簡單滴,主要就是練一練手。還有就是水一水blog!換個字型,換個心情!快速乘是在模數很大時要用,避免超...