還是 樹形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()