P3360 偷天換日

2022-05-24 06:54:12 字數 629 閱讀 6974

還是 樹形dp qaq……

很開心是第305個通過的(嘿嘿嘿)~

是上一道題的公升級版,但是其實只要把到展廳後簡單的除法改成01揹包就可以了。

有一點忘記強調了(莫怪):

為了保證我們的主人公活著逃出去,所以他至少要在警察來的前一秒鐘逃走,所以給他的最長時間是 n - - 。

**:

#include#include

#include

#include

using

namespace

std;

#define maxn 1005

#define int long long

int f[maxn][maxn],v[maxn],c[maxn],n,num=1

;void dfs(int

u)

int l=++num;

dfs(l);

int r=++num;

dfs(r);

for(int i=t; i<=n; i++)

for(int j=0; j<=i-t; j++)

f[u][i]=max(f[u][i],f[l][j]+f[r][i-j-t]);

}main()