用优先队列处理 check 函数时,复杂度 O(nlognlogANS)O(n\log n\log ANS)O(nlognlogANS)。第 272727 个点 TLE 时,把优先队列定义到 check 函数内,免于每次清空。
TLE :
priority_queue<nd> q; bool check(int x){ while(!q.empty())q.pop(); }
AC :
bool check(int x){ priority_queue<nd> q; }
请问为什么会变快?