几个问题(本人已 AC)
查看原帖
几个问题(本人已 AC)
539211
lzyqwq楼主2022/7/4 10:33
  1. 这两种写法有什么区别
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,下面的 9090

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]);

求大佬解答!

2022/7/4 10:33
加载中...