摘要:
1 #include 2 using namespace std; 3 int n; 4 long long a[500005],b[500005],ans;//a为待排序数组,b为临时数组,ans为逆序对数 5 void mergesort(int l,int r)//l为左边界,r为右边界 6 { 7 if(l==r) return; 8 int mid=... 阅读全文
摘要:
前缀和 差分 阅读全文
摘要:
1 #include 2 using namespace std; 3 long long a,b,p; 4 long long mul(long long a,long long b,long long p) 5 { 6 long long ans=0; 7 while(b) 8 { 9 if(b&1) ans=(ans+a)%p; 1... 阅读全文
摘要:
1 #include 2 using namespace std; 3 long long a,b,p; 4 long long quickpow(long long a,long long b,long long p) 5 { 6 long long ans=1; 7 while(b) 8 { 9 if(b&1) ans=ans%p*a... 阅读全文
摘要:
1 #include 2 using namespace std; 3 const double eps=0.0000001;//精度 4 struct f{ 5 double s[20]; 6 int n; 7 inline double calc(double x) 8 { 9 double sum=0; 10 ... 阅读全文
摘要:
1 /* 2 高精度进制加法 3 n为进制(n 6 using namespace std; 7 const int maxn=10000; 8 int n; 9 struct bign{ 10 int d[maxn],len; 11 inline bign(){len=1;memset(d,0,sizeof(d));} 12 inline ... 阅读全文
摘要:
1 #include 2 using namespace std; 3 const int maxn=10000;//最大处理位数 4 struct bign 5 { 6 int d[maxn],len; //下标从0开始 7 inline void clean() {while(len>1&&!d[len-1]) len--;}; //删除前导0 ... 阅读全文