我一开始的思路是对于每一个展览厅,将每一幅画设为它的一个子节点,耗时是它们之间的边权
add(u,++tot,a*2);
int g=tot;
for(int i=1;i<=b;i++){
int x,c;
cin>>x>>c;
add(g,++tot,c);
f[tot][c]=x;
for(int j=c;j<=n;j++){
f[tot][j]=x;
}
}
然后再统一动态规划
for(int j=n;j>=w[i];j--){
for(int k=w[i];k<=j;k++){
f[u][j]=max(f[u][j],f[u][j-k]+f[v][k-w[i]]);
}
}
可以通过样例但是不能过任何一个测试点
不知道哪位大佬愿意指点一二