noip前最后一题 WA+RE

P3384 【模板】重链剖分/树链剖分

@[sipu6174](/user/239832) You are too lucky ```cpp for(int i=1;i<=m;i++){ int op=read(); if(op==1) updrange(read(),read(),read()); if(op==2) printf("%lld\n",qrange(read(),read())); if(op==3) updson(read(),read()); if(op==4) printf("%lld\n",qson(read())); } ``` 这一段出问题了
by FutureThx @ 2020-12-04 21:48:07


不能边调用函数边读入 比如这样 ``` q(read(),read()); ``` 两个参数读入的时候可能会以你意想不到的顺序读进去
by FutureThx @ 2020-12-04 21:49:29


如果照我的马蜂改,这样就过了 ```cpp for(int i=1;i<=m;i++){ int op=read(); if(op==1) { int u,v,w; u = read(); v = read(); w = read(); updrange(u,v,w); } if(op==2) { int u ,v; u = read(); v = read(); printf("%lld\n",qrange(u,v)); } if(op==3) { int u,v; u = read(); v = read(); updson(u,v); } if(op==4) printf("%lld\n",qson(read())); } ```
by FutureThx @ 2020-12-04 21:50:59


另外吐槽一句树剖代码真的长的离谱
by FutureThx @ 2020-12-04 21:51:28


@[Ymw123](/user/355559) 难道会从右往左读? 这是ub吗?
by sipu6174 @ 2020-12-04 21:56:48


@[sipu6174](/user/239832) 不是,它的读入会很玄学,具体我也不清楚,但是考场绝对绝对不能这样搞
by FutureThx @ 2020-12-04 22:10:33


noip不考树剖(bushi
by lcyxds @ 2021-01-12 00:05:46


|