- 这两种写法有什么区别
if(f[t]>fa)fa=f[t],fs=ans[t];
else if(f[t]==fa)fs=max(fs,ans[t]);
if(f[t]!=fa)
if(f[t]>fa)fa=f[t],fs=ans[t];
else fs=max(fs,ans[t]);
上面的 AC,下面的 90 分。
2.求最大亮度的时候正确的应该这么写:
if(f[t]+p[i]>f[i])f[i]=f[t]+p[i],ans[i]=max(ans[t],maxn[i]);
else if(f[t]+p[i]==f[i])ans[i]=max(ans[i],max(maxn[i],ans[t]));
如果写成这样会舍去之前比较出来的最大值,万一答案在之前的最大值中就错了,却还是能 AC:
if(f[t]+p[i]>f[i])f[i]=f[t]+p[i],ans[i]=max(ans[t],maxn[i]);
else if(f[t]+p[i]==f[i])ans[i]=max(maxn[i],ans[t]);
求大佬解答!