Vector References
// Vector References
vector<int> v, v1(5), v2(5,10), v3={1,2,3}, v4(v3), v5([Link](), [Link]());
v.push_back(1); v.pop_back(); [Link](); [Link](); [Link]();
[Link](10,1); [Link](); [Link](); v[2]; [Link](2);
for(auto x:v) cout<<x; for(auto it=[Link](); it!=[Link](); it++) cout<<*it;
sort([Link](), [Link]()); reverse([Link](), [Link]());
auto it=find([Link](), [Link](),5);
[Link]([Link]()+2); [Link]([Link]()+1,99);
[Link](v2); [Link](5,100);
[Link](unique([Link](),[Link]()), [Link]());
int mn=*min_element([Link](),[Link]()), mx=*max_element([Link](),[Link]());
vector<vector<int>> grid(3, vector<int>(4,0));
priority_queue<int> maxH; priority_queue<int,vector<int>,greater<int>> minH;
rotate([Link](),[Link]()+2,[Link]());
next_permutation([Link](),[Link]()); prev_permutation([Link](),[Link]());
String References
// String References
string s="hello"; [Link](); [Link](); [Link]();
s.push_back('a'); s.pop_back(); s+= "world";
[Link](1,3); [Link]("lo"); [Link]("hello");
reverse([Link](), [Link]()); sort([Link](), [Link]());
stoi("123"); stoll("12345"); to_string(123);
Set / Multiset / Unordered Set References
// Set / Multiset / Unordered Set References
set<int> s; [Link](10); [Link](10);
if([Link](10)!=[Link]()) cout<<"found";
[Link](10); auto it=s.lower_bound(5); auto jt=s.upper_bound(5);
multiset<int> ms; [Link](10); [Link]([Link](10));
unordered_set<int> us; [Link](5);
Map / Multimap / Unordered Map References
// Map / Multimap / Unordered Map References
map<int,int> mp; mp[1]=10; [Link]({2,20});
[Link](1); if([Link](2)) cout<<mp[2];
for(auto [k,v]:mp) cout<<k<<" "<<v;
unordered_map<string,int> ump; ump["abc"]=5;
Deque / Queue / Stack References
// Deque / Queue / Stack References
deque<int> dq; dq.push_back(1); dq.push_front(2); dq.pop_back(); dq.pop_front();
queue<int> q; [Link](1); [Link](); [Link]();
stack<int> st; [Link](5); [Link](); [Link]();
Algorithms References
// Algorithms References
sort([Link](),[Link]()); stable_sort([Link](),[Link]());
partial_sort([Link](),[Link]()+k,[Link]());
reverse([Link](),[Link]()); rotate([Link](),[Link]()+k,[Link]());
accumulate([Link](),[Link](),0);
count([Link](),[Link](),x);
*max_element([Link](),[Link]()); *min_element([Link](),[Link]());
lower_bound([Link](),[Link](),x);
upper_bound([Link](),[Link](),x);
binary_search([Link](),[Link](),x);
next_permutation([Link](),[Link]());
Math / Number Theory References
// Math / Number Theory References
__gcd(a,b); lcm(a,b); // C++17
int mod=1e9+7;
auto modpow=[](long long a,long long b,long long m){
long long res=1; while(b){ if(b&1) res=res*a%m; a=a*a%m; b>>=1;} return res; };
vector<int> prime(n+1,1);
for(int i=2;i*i<=n;i++) if(prime[i]) for(int j=i*i;j<=n;j+=i) prime[j]=0;
Bit Manipulation References
// Bit Manipulation References
int x=29; // 11101
__builtin_popcount(x); __builtin_ctz(x); __builtin_clz(x);
(x&(1<<k))?1:0; // check kth bit
x|=(1<<k); // set kth bit
x&=~(1<<k); // unset kth bit
x^=(1<<k); // toggle kth bit
Pair & Tuple References
// Pair & Tuple References
pair<int,int> p={1,2}; [Link]; [Link];
vector<pair<int,int>> vp; sort([Link](),[Link]());
tuple<int,int,string> t={1,2,"hi"}; auto [a,b,c]=t;
Graph / DSU References
// Graph / DSU References
int n; vector<vector<int>> adj(n);
for(int i=0;i<n;i++){int u,v; cin>>u>>v; adj[u].push_back(v); adj[v].push_back(u);}
vector<int> vis(n,0);
function<void(int)> dfs=[&](int u){vis[u]=1; for(int v:adj[u]) if(!vis[v]) dfs(v);};
queue<int> q; [Link](0); vis[0]=1; while(![Link]()){int u=[Link]();[Link]();
for(int v:adj[u]) if(!vis[v]){vis[v]=1; [Link](v);}}
struct DSU{vector<int> p,sz; DSU(int n):p(n),sz(n,1){iota([Link](),[Link](),0);}
int find(int x){return p[x]==x?x:p[x]=find(p[x]);}
bool unite(int a,int b){a=find(a);b=find(b); if(a==b) return 0; if(sz[a]<sz[b]) swap(a,b);
p[b]=a; sz[a]+=sz[b]; return 1;}};