#include<bits/stdc++.h> #include<iostream> #include<stdio.h> #include<iomanip> #include<stack> #include<queue> #include<algorithm> #include<cstring> #include<map> #include<vector> #include<numeric> #include<iterator> #include<cmath> #define mem(a,x) memset(a,x,sizeof(a)); using namespace std; int gcd(int a, int b) { return b == 0 ? a : gcd(b, a%b); } int lcm(int a, int b) { return a * b / gcd(a, b); } const int INF = 0x3f3f3f3f; typedef long long ll; typedef pair<int,int>Pi; typedef pair<ll, ll>Pii; map<int,int>mp; map<int, char *>mp1; map<char *, int>mp2; map<char, int>mp3; map<string,int>mp4; map<char,int>mp5; const int maxn = 200010; const int mod=1000000007; ll a[maxn]; int read(){ int flag=1; int sum=0; char c=getchar(); while(c<‘0‘||c>‘9‘){ if(c==‘-‘)flag=-1; c=getchar(); } while(c>=‘0‘&&c<=‘9‘){ sum=sum*10+c-‘0‘; c=getchar(); } return sum*flag; } ll Read(){ int flag=1; ll sum=0; char c=getchar(); while(c<‘0‘||c>‘9‘){ if(c==‘-‘)flag=-1; c=getchar(); } while(c>=‘0‘&&c<=‘9‘){ sum=sum*10+c-‘0‘; c=getchar(); } return sum*flag; } ll quickmul(ll a,ll b){ ll ans=0; while(b){ if(b&1){ ans=(ans+a)%mod; } a=(a+a)%mod; b>>=1; } return ans; } ll quickpow(ll a,ll b){ ll ans=1; while(b){ if(b&1) ans=(ans*a)%mod; a=(a*a)%mod; b>>=1; } return ans; } int main() { return 0; }
原文:https://www.cnblogs.com/cherish-lin/p/10986964.html