警示后人
查看原帖
警示后人
1101572
zhaisx楼主2024/7/29 08:14

定义宏时一定不能写成这样:

#define gettag(u, l, r, a) \
    node[u].add += a;      \
    node[u].sum += a * (r - l + 1)

当传入 l = mid + 1 时会出现 node[u].sum += a * (r - mid + 1 + 1) 的现象。需改为:

node[u].sum += a * (r - (l) + 1)
2024/7/29 08:14
加载中...