區間dp wannafly D6 合併石子

2021-10-02 11:35:48 字數 966 閱讀 8089

合併石子是區間dp的板子題,這道題看資料範圍只能on的複雜度,就用dp[l][r]l表示左邊的座標,r表示右邊的座標,利用dp[l+1][r]、dp[l][r-1]的關係來遞推。每次合併的時候加上的是a[i]與(l-r)之間的和的乘積,(l-r)之間的和可用字首和b[r]-b[l-1]表示.

遞推式:dp[l][r]=max(dp[l+1][r]+a[l](b[r]-b[l]),dp[l][r-1]+a[r](b[r-1]-b[l-1]));

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#if __cplusplus >= 201103l

#include

#include

#endif

#define ll long long

using

namespace std;

const

int inf =

0x3f3f3f3f

;ll a[

2010

],dp[

2010][

2010

],b[

2010];

intmain()

for(

int len=

1;len<=t;len++)}

cout<[t]

}

6 組合總和

給你乙個無重複元素的整數陣列candidates和乙個目標整數target,找出candidates中可以使數字和為目標數target的所有不同組合,並以列表形式返回。你可以按任意順序返回這些組合。candidates中的同乙個 數字可以無限制重複被選取。如果至少乙個數字的被選數量不同,則兩種組合是...

Python基礎6 集合

集合 set 是乙個無序的不重複元素序列 可以使用大括號 或者set 函式建立集合 注意 建立乙個空集合必須用set 而不是 因為 是用來建立乙個空字典集合的建立 用 方式建立集合 可以看出集合是無序的 animals print animals print type animals 用set方式建...

No 6集合 記憶體相關

字典dic v1 dic k3 報錯 print v1 結果 報錯 v2 dic.get k3 666 返回自定義值,不寫返回none print v2 結果 666 pop python dic result dic.pop k2 pop刪除的值可以檢視 print dic,result del ...