试试把map调成unordered_map
by return_second @ 2024-05-03 09:13:22
@[dpACerLZJun](/user/549846) 在你删除只有 $0$ 个的元素时,因为一条线段导致的 $0$ 个的元素是连续的,所以不必从头枚举到尾。
将
```cpp
mi start=m.begin(), end=m.end();
for(mi it=start; it!=end; ) {
if(it->second == 0) m.erase((it++)->first);
else it++;
}
```
改为
```cpp
for (auto it = m.begin(); it != m.end() && it->second == 0;)
m.erase(it++);
```
by lzy20091001 @ 2024-05-03 16:48:44