我一开始的动态规划部分:
f[0]=10;
F(i,1,g){
dF(j,d,0){
if(f[j]>=a[i].ti-a[i-1].ti){
f[j]=max(f[j],f[j]+a[i].F);
}
if(j>=a[i].H&&f[j-a[i].H]>=a[i].ti-a[i-1].ti){
f[j]=max(f[j],f[j-a[i].H]);
if(j==d) {
cout<<a[i].ti;return 0;
}
}
}
}
注意到我的判断里面是相邻两次时间相减,我认为这个表示从上一次能撑到这一次的判断,然而WA了一半。
当我把-a[i-1].ti删去后就AC了??
还不大理解为啥。