模板


#include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
#include <cstring>
#include <cstdlib>
#include <map>
#include <vector>
#include <set>
#include <queue>
#include <stack>
#include <cmath>

typedef long long lli;
#define pql priority_queue<ll>
#define pq priority_queue<int>
#define v vector<int>
#define vl vector<ll>
//线段树
#define lson rt<<1, l, m
#define rson rt<<1|1, m+1, r
#define gcd __gcd

#define mem(s,t) memset(s,t,sizeof(s))
#define debug(a,n) for(int i=0;i<n;i++) cout<<" "<<a[i];
#define Debug(a,n,m) for(int i=0;i<n;i++) {for(int j=0;j<m;j++) cout<<a[i][j]<<" ";   cout<<endl; }
#define rep(j,k) for (int i = j; i <= k; i++)
#define per(i,k) for (int i = i; i >= k; i--)

#define input(a,k) for (int i = 1; i <= (int)(k); i++)  {scanf("%d",&a[i]) ; }
#define INPUT(a,n,m) for(int i=0;i<n;i++) {for(int j=0;j<m;j++) cin>>a[i][j] ; }
#define TLE std::ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define ok return 0;
#define oi(x) cout<<x<<endl;
#define os(str) cout<<string(str)<<endl;
#define YES cout<<"YES"<<endl;
#define NO cout<<"NO"<<endl;
using namespace std;
const int mxn = 2e5+5;

 

  template<typename T1, typename T2>
  std::vector<T1>& operator+=(std::vector<T1> &a, const std::vector<T2> &b) {
    assert(a.size() == b.size());
    for (size_t i = 0; i < a.size(); ++i) {
      a[i] += b[i];
    }
    return a;
  }
 
  template<typename T1, typename T2>
  std::vector<T1>& operator-=(std::vector<T1> &a, const std::vector<T2> &b) {
    assert(a.size() == b.size());
    for (size_t i = 0; i < a.size(); ++i) {
      a[i] -= b[i];
    }
    return a;
  }
 
  template<typename T1, typename T2>
  std::vector<T1>& operator*=(std::vector<T1> &a, const std::vector<T2> &b) {
    assert(a.size() == b.size());
    for (size_t i = 0; i < a.size(); ++i) {
      a[i] *= b[i];
    }
    return a;
  }
 
  template<typename T1, typename T2>
  std::vector<T1>& operator/=(std::vector<T1> &a, const std::vector<T2> &b) {
    assert(a.size() == b.size());
    for (size_t i = 0; i < a.size(); ++i) {
      a[i] /= b[i];
    }
    return a;
  }
 
  template<typename T>
  std::vector<T> operator+(const std::vector<T> &a, const std::vector<T> &b) {
    std::vector<T> ans(a);
    ans += b;
    return ans;
  }
 
  template<typename T>
  std::vector<T> operator-(const std::vector<T> &a, const std::vector<T> &b) {
    std::vector<T> ans(a);
    ans -= b;
    return ans;
  }
 
  template<typename T>
  std::vector<T> operator*(const std::vector<T> &a, const std::vector<T> &b) {
    std::vector<T> ans(a);
    ans *= b;
    return ans;
  }
 
  template <typename T>
  std::vector<T> operator/(const std::vector<T> &a, const std::vector<T> &b) {
    std::vector<T> ans(a);
    ans /= b;
    return ans;
  }

 



#define LOCAL
int main()
{
#ifdef LOCAL

    freopen("IN.txt","r",stdin);

    freopen("OUT.txt","w",stdout);

#endif

}


//快速GCD
ll kgcd(ll a, ll b)
{ 
    if (a == 0) return b; 
    if (b == 0) return a; 
    if (!(a & 1) && !(b & 1)) 
        return kgcd(a>>1, b>>1)<<1;
    else if (!(b & 1))
    return kgcd(a, b>>1); 
    else if (!(a & 1)) return kgcd(a>>1, b); 
    else return kgcd(abs(a - b), min(a, b)); 
}

 

ll FibonacciN(ll n) {  return (1/sqrt(5))*( pow( (1+sqrt(5))/2,n )-pow( (1-sqrt(5))/2 ,n) );   }
ll FibonacciSum(ll n) { return 2*FibonacciN(n)+FibonacciN(n-1)-1; }

 

posted @ 2019-08-27 10:54  __MEET  阅读(167)  评论(0编辑  收藏  举报