Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "Default C++ CP template": {
- "prefix": "default",
- "body": [
- "#pragma GCC optimize(\"Ofast\")",
- "#pragma GCC target(\"sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma\")",
- "#pragma GCC optimize(\"unroll-loops\")",
- "#include <bits/stdc++.h> ",
- "#include <complex>",
- "#include <queue>",
- "#include <set>",
- "#include <unordered_set>",
- "#include <list>",
- "#include <chrono>",
- "#include <random>",
- "#include <iostream>",
- "#include <algorithm>",
- "#include <cmath>",
- "#include <string>",
- "#include <vector>",
- "#include <map>",
- "#include <unordered_map>",
- "#include <stack>",
- "#include <iomanip>",
- "#include <fstream>",
- " ",
- "using namespace std;",
- " ",
- "typedef long long ll;",
- "typedef long double ld;",
- "typedef pair<int,int> p32;",
- "typedef pair<ll,ll> p64;",
- "typedef pair<double,double> pdd;",
- "typedef vector<ll> v64;",
- "typedef vector<int> v32;",
- "typedef vector<vector<int> > vv32;",
- "typedef vector<vector<ll> > vv64;",
- "typedef vector<vector<p64> > vvp64;",
- "typedef vector<p64> vp64;",
- "typedef vector<p32> vp32;",
- "ll MOD = 998244353;",
- "double eps = 1e-12;",
- "#define forn(i,e) for(ll i = 0; i < e; i++)",
- "#define forsn(i,s,e) for(ll i = s; i < e; i++)",
- "#define rforn(i,s) for(ll i = s; i >= 0; i--)",
- "#define rforsn(i,s,e) for(ll i = s; i >= e; i--)",
- "#define ln \"\\n\"",
- "#define dbg(x) cout<<#x<<\" = \"<<x<<ln",
- "#define mp make_pair",
- "#define pb push_back",
- "#define fi first",
- "#define se second",
- "#define INF 2e18",
- "#define fast_cin() ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)",
- "#define all(x) (x).begin(), (x).end()",
- "#define sz(x) ((ll)(x).size())",
- " ",
- "",
- "void solve(){",
- " ",
- "}",
- " ",
- "int main()",
- "{",
- " fast_cin();",
- " ll t;",
- " cin >> t;",
- " for(int it=1;it<=t;it++) {",
- " //cout << \"Case #\" << it+1 << \": \";",
- " solve();",
- " }",
- " return 0;",
- "}"
- ],
- "description": "Default C++ CP template"
- },
- "Fast Fourier Transform":{
- "prefix" : "fft",
- "body": [
- "void fft(vector<cd> & a, bool invert){",
- " int n = a.size();",
- "",
- " for (int i = 1, j=0; i < n; i++ ){",
- " int bit = n >> 1;",
- " for (; j & bit; bit >>= 1){",
- " j ^= bit;",
- " }",
- " j ^= bit;",
- "",
- " if (i < j){",
- " swap(a[i], a[j]);",
- " }",
- " }",
- "",
- " for (int len = 2; len <= n; len <<= 1){",
- " double ang = 2 * PI / len * (invert ? -1 : 1);",
- " cd wlen(cos(ang), sin(ang));",
- " for(int i=0; i < n; i+=len ){",
- " cd w(1);",
- " for (int j = 0; j < len / 2; j++){",
- " cd u = a[i+j], v = a[i+j+len/2] * w;",
- " a[i+j] = u + v;",
- " a[i+j+len/2] = u - v;",
- " w *= wlen;",
- " }",
- " }",
- " }",
- "",
- " if (invert){",
- " for (cd & x : a){",
- " x /= n;",
- " }",
- " }",
- "}"
- ],
- "description": "FFT"
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement