避雷 -O2 TLE 90pts

P4114 Qtree1

_Fatalis_ @ 2022-10-21 16:48:35

使用宏 #define max(a, b) ((a) > (b) ? (a) : (b))

如果传入的是函数,那你的函数将最多被计算 2 次,将会有 三倍甚至两倍 的常数。

记录:

AC: max-830ms R90818661

TLE: max-2.20s R79830280


by Register_int @ 2022-10-21 16:56:33

所以为啥要用宏


by dbxxx @ 2022-10-21 17:08:46

横跨了一千万的提交记录(


by UnyieldingTrilobite @ 2022-10-21 17:34:09

如果传入的是函数,那你的函数将最多被计算 2 次,将会有 三倍甚至两倍 的常数。

错误的,对于一些递归结构比如线段树,这个东西会有奇效。


by Usada_Pekora @ 2022-10-21 17:36:42

@UnyieldingTrilobite 指变得不如暴力。


by UnyieldingTrilobite @ 2022-10-21 17:40:58

return max(query2(tr[pos].lc, l, tr[tr[pos].lc].r),query2(tr[pos].rc, tr[tr[pos].rc].l, r));

看了一眼 TLE 记录,正是我说的这种情况,逮住。


|