General

  • Beware of integer overflows

Searching and Sorting

  • Binary Search
    • binary_search(vector.begin(), vector.end(), val)
    • set.find(val) , multiset.find(val)
    • set.upper_bound(val): iterator > val
    • set.lower_bound(val): iterator >= val
    • upper_bound(vector.begin(), vector.end(), val)
    • unordered_set
    • Policy Based Data Structure
    • Search on the answer
    • multiset.erase(multiset.find(val)): erase just one instance of val from multiset
  • Ternary Search

  • Sort
    • sort(vector.begin(), vector.end())
    • sort(vector.rbegin(), vector.rend())

Dynamic Programming

Very Detailed Editorial: Part1, Part2

Graph

Tags: ,

Categories:

Updated: