<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      代碼大全

      代碼大全

      常數優化

      編譯器卡常優化(CF上比較有用)

      #pragma GCC optimize("Ofast")
      #pragma GCC optimize("unroll-loops")
      #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
      

      讀入優化:

      inline int getint() {
      	register char ch;
      	while(!isdigit(ch=getchar()));
      	register int x=ch^'0';
      	while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0');
      	return x;
      }
      

      mmap讀入優化:

      #include<sys/mman.h>
      #include<sys/stat.h>
      class MMapInput {
      	private:
      		char *buf,*p;
      		int size;
      	public:
      		MMapInput() {
      			register int fd=fileno(stdin);
      			struct stat sb;
      			fstat(fd,&sb);
      			size=sb.st_size;
      			buf=reinterpret_cast<char*>(mmap(0,size,PROT_READ,MAP_PRIVATE,fileno(stdin),0));
      			p=buf;
      		}
      		char getchar() {
      			return (p==buf+size||*p==EOF)?EOF:*p++;
      		}
      };
      MMapInput mmi;
      inline int getint() {
      	register char ch;
      	while(!isdigit(ch=mmi.getchar()));
      	register int x=ch^'0';
      	while(isdigit(ch=mmi.getchar())) x=(((x<<2)+x)<<1)+(ch^'0');
      	return x;
      }
      

      數論

      擴歐求逆元:

      void exgcd(const int &a,const int &b,int &x,int &y) {
      	if(!b) {
      		x=1,y=0;
      		return;
      	}
      	exgcd(b,a%b,y,x);
      	y-=a/b*x;
      }
      inline int inv(const int &x) {
      	int ret,tmp;
      	exgcd(x,mod,ret,tmp);
      	return (ret%mod+mod)%mod;
      }
      

      多項式

      FFT

      inline void init_ru(const int &n) {
      	for(register int i=0;i<n;i++) {
      		ru[i]=(comp){cos(2*pi*i/n),sin(2*pi*i/n)};
      		iru[i]=conj(ru[i]);
      	}
      }
      inline void dft(comp f[],comp w[],const int &n) {
      	for(register int i=0,j=0;i<n;i++) {
      		if(i>j) std::swap(f[i],f[j]);
      		for(register int l=n>>1;(j^=l)<l;l>>=1);
      	}
      	for(register int i=2;i<=n;i<<=1) {
      		const int m=i>>1;
      		for(register int j=0;j<n;j+=i) {
      			for(register int k=0;k<m;k++) {
      				const comp z=f[j+m+k]*w[n/i*k];
      				f[j+m+k]=f[j+k]-z;
      				f[j+k]+=z;
      			}
      		}
      	}
      }
      

      FWT異或:

      inline void fwt(int a[]) {
      	for(register int j=0;j<len;j++) {
      		for(register int i=0;i<n;i++) {
      			if(i>>j&1) continue;
      			const int x=a[i],y=a[(1<<j)|i];
      			a[i]=(x+y)%mod;
      			a[(1<<j)|i]=(x-y+mod)%mod;
      		}
      	}
      }
      

      字符串

      后綴數組求sa[i]rank[i]

      inline bool cmp(const int &i,const int &j) {
      	if(rank[i]!=rank[j]) return rank[i]<rank[j];
      	const int ri=i+k<=n?rank[i+k]:-1;
      	const int rj=j+k<=n?rank[j+k]:-1;
      	return ri<rj;
      }
      inline void suffix_sort() {
      	for(register int i=0;i<=n;i++) {
      		sa[i]=i;
      		rank[i]=s[i];
      	}
      	for(k=1;k<=n;k<<=1) {
      		std::sort(&sa[0],&sa[n]+1,cmp);
      		tmp[sa[0]]=0;
      		for(register int i=1;i<=n;i++) {
      			tmp[sa[i]]=tmp[sa[i-1]]+!!cmp(sa[i-1],sa[i]);
      		}
      		std::copy(&tmp[0],&tmp[n]+1,rank);
      	}
      }
      

      后綴數組求lcp[i]

      inline void init_lcp() {
      	for(register int i=0,h=0;i<n;i++) {
      		if(h>0) h--;
      		const int j=sa[rank[i]-1];
      		while(j+h<n&&i+h<n&&s[j+h]==s[i+h]) h++;
      		lcp[rank[i]-1]=h;
      	}
      }
      

      計算幾何:

      自適應辛普森法:

      inline double simpson(const double &a,const double &b) {
      	const double c=(a+b)/2;
      	return (F(a)+4*F(c)+F(b))*(b-a)/6;
      }
      inline double asr(const double &a,const double &b,const double &eps,const double &s) {
      	const double c=(a+b)/2,ls=simpson(a,c),rs=simpson(c,b);
      	if(fabs(ls+rs-s)<15*eps) return ls+rs+(ls+rs-s)/15;
      	return asr(a,c,eps/2,ls)+asr(c,b,eps/2,rs);
      }
      
      posted @ 2018-06-08 09:58  skylee03  閱讀(2006)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产亚洲精品aaaa片app| 久久精品不卡一区二区| 国产成人午夜在线视频极速观看 | 97色伦97色伦国产| 好男人官网资源在线观看| 国产成人精品亚洲高清在线| 精品国产中文字幕在线| 97色伦97色伦国产| 国产福利微视频一区二区| 午夜福利片一区二区三区| 日韩精品国产二区三区| 日韩丝袜欧美人妻制服| 国产亚洲精品日韩av在| 亚洲熟女乱色一区二区三区| 沽源县| 亚洲人成人日韩中文字幕| 高清有码国产一区二区| 中文字幕一卡二卡三卡| 蜜臀av一区二区国产精品| 亚洲 制服 丝袜 无码| 余干县| 亚洲精品成人一二三专区| 女同久久一区二区三区| 亚洲精品二区在线播放| 日本熟妇乱一区二区三区| 午夜一区二区三区视频| 亚洲精品韩国一区二区| 国产亚洲国产精品二区| 中文人妻AV高清一区二区| 免费无码影视在线观看mov| 亚洲av成人免费在线| 亚洲色欲色欲大片www无码| 一本色道久久综合熟妇人妻| 亚洲高清成人av在线| 艳妇臀荡乳欲伦交换h在线观看 | 亚洲午夜激情久久加勒比| 人妻少妇偷人无码视频| 欧美人与性动交α欧美精品| 91偷自国产一区二区三区| 亚洲 日本 欧洲 欧美 视频| 国产成人精品亚洲资源|