今天的一场模拟赛中,正解被卡常了,发现瓶颈是这段代码:
for (int i = 1; i <= n; ++i) { int rk_i=rk[i],_pre=pre[rk_i],_nxt=nxt[rk_i]; ans^=(long long)_pre * rk_i; pre[_nxt] = _pre; nxt[_pre] = _nxt; }
这是一个普通的链表删除,目前想卡过需要再 n=107n=10^7n=107 时这段代码跑进 0.4s(实际跑了 1.4s)
大佬们有什么方法吗?