66// ! rep (i, 0, n) pq.ds.add(i, initial_nums[i]);
77// ! //or
88// ! pq.ds.subtree = initial_nums;
9- // ! pq.push_update(u, v, curr_pri );
9+ // ! pq.push_update(u, v, cur_pri );
1010// ! cout << pq.ds.sum(v) << '\n';
1111// ! @endcode
1212// ! @time n interweaved calls to pop_update, push_update
@@ -39,10 +39,9 @@ template<class DS, class... ARGS> struct pq_updates {
3939 extra.push_back (upd_st[idx_sk]);
4040 idx = min (idx, idx_sk), lowest_pri = pri;
4141 }
42- auto it =
43- remove_if (idx + all (upd_st), [&](auto & curr) {
44- return curr.second ->first >= lowest_pri;
45- });
42+ auto it = remove_if (idx + all (upd_st), [&](auto & cur) {
43+ return cur.second ->first >= lowest_pri;
44+ });
4645 reverse_copy (all (extra), it);
4746 rep (i, idx, sz (upd_st)) ds.undo ();
4847 upd_st.pop_back ();
@@ -54,13 +53,13 @@ template<class DS, class... ARGS> struct pq_updates {
5453 }
5554 }
5655 // ! @param args arguments to DS::join
57- // ! @param priority must be distinct, can be negative
56+ // ! @param pri must be distinct, can be negative
5857 // ! @time O(log(n) + T(n))
5958 // ! @space an new update is allocated, inserted into
6059 // ! `upd_st`, `mp` member variables
61- void push_update (ARGS ... args, int priority ) {
60+ void push_update (ARGS ... args, int pri ) {
6261 ds.join (args...);
63- auto [it, ins] = mp.emplace (priority , sz (upd_st));
62+ auto [it, ins] = mp.emplace (pri , sz (upd_st));
6463 assert (ins);
6564 upd_st.emplace_back (make_tuple (args...), it);
6665 }
0 commit comments