这题数据有锅吧
查看原帖
这题数据有锅吧
39914
An_Account楼主2018/10/16 15:09

题目中明确说了1xi10181\leq x_i\leq 10^{18},然而在树链剖分中,如果线段树pushup时将所有大于101810^{18}的乘积全部变成1018+110^{18}+1会错。

这竟然是Wrong answer on test 23的最终原因。

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

2018/10/16 15:09
加载中...