社区讨论

这题数据有锅吧

CF593DHappy Tree Party参与者 5已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lp193vy6
此快照首次捕获于
2023/11/16 21:52
2 年前
此快照最后确认于
2025/11/20 12:56
4 个月前
查看原帖
题目中明确说了1xi10181\leq x_i\leq 10^{18},然而在树链剖分中,如果线段树pushup时将所有大于101810^{18}的乘积全部变成1018+110^{18}+1会错。
这竟然是Wrong answer on test 23的最终原因。
CPP
inline void pushup(int rt) {
    if ((long double)T[rt<<1].sum*T[rt<<1|1].sum>1e18) T[rt].sum=1e18+1;//没错就是这里,改成1e18+5000
    else T[rt].sum=T[rt<<1].sum*T[rt<<1|1].sum;
}
但是如果针对本题的数据范围,这两种操作是等价的
经本人验证,改成1e18+100仍然会wrong answer on test 44

回复

7 条回复,欢迎继续交流。

正在加载回复...