Create util.cpp

This commit is contained in:
Anthony Wang 2019-07-26 11:12:38 -05:00 committed by GitHub
parent 2692672d2c
commit 645b489163
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

7
Miscellaneous/util.cpp Normal file
View file

@ -0,0 +1,7 @@
template <class BidirectionalIterator> // Coordinate compression
void compress (BidirectionalIterator first, BidirectionalIterator last) {
vector<int> tmp(first, last);
sort(tmp.begin(), tmp.end());
tmp.resize(unique(tmp.begin(), tmp.end()) - tmp.begin());
for (auto it = first; it != last; it++) *it = lower_bound(tmp.begin(), tmp.end(), *it) - tmp.begin();
}