一棵区间加区间求最小值的线段树封装成类,标记永久化,代码链接:Code。
之前用的是 template <const uint N>,然后定义了 node o[N * 4],通过了测试;但因为 build 里面给出了实际的 n,就把 o 作为指针,o = new node [n * 4],又加上了构造函数和析构函数。
理论上两种写法应该等价(只是大小不同而已),但是实测第一种写法输出正确,第二种写法输出的值非常大,约为 1019,疑似 RE。曾尝试过开 10n 的空间,输出差不多,初步排除空间太小 /kel