日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

模板重搭建計劃

發布時間:2025/3/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模板重搭建計劃 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前模板好多青澀的地方,和我現在的風格差別也比較大,現在重新搭一個模板,同時復習模板

一定程度上減少被hack的幾率:

1 /* 2 :Zu 3 iB@B@i iGM; 4 i@@B@@@B2 7B@B@B@. 5 @@@@B@B@B@u iM@B@B@B@BL 6 B@B@N OB@@@BY F@@@B@BMM@B@O 7 E@B@B .O@B@B@: :BB@@@B@0U7FB@B@ 8 :@B@B. .@B@B@O YB@B@B@OSYJjuU@B@B 9 @B@B5 rB@B@B7 u@B@B@BNuYj1UFuuB@B@i 10 2@@@@ N@@@@M 5B@B@BBkjYU252511JMB@B1 11 @@B@i :@@@B@ J@B@@@MFLju515151FUJE@B@M 12 F@B@B @@@B@, iB@B@@B1YJ12F152F1511JPB@B@ 13 @B@B: EB@@@. . .::::.... O@@B@BSLuU51F151F15152u2@B@B 14 L@@B@ 0B@B@ .:rLuk8MB@B@B@B@B@B@@@B@B@B@B@@@@@B@B@G@@@B@PuY2251F1F151F1F1Fu2B@B@. 15 B@@@Y @B@BB2MB@B@@@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@BMujU52F1F151525151511Y@@@Bi 16 @B@B @B@@@B@@@B@@@B@@@BBZNuu7ri:,,.. B@B@0kN88MB@BEYu252525151F252F1F15UJM@B@J 17 JB@B@ 0@B@@BE17i,. @B@BUvJYJLJjUj125151F152525151F1F55YO@@BX 18 B@B@v .B@B@jUU5252221212F2515251F15252F1F2JE@B@O 19 @B@B. @B@BFJF1F2F2F2F2515151F152F251F5515YEB@B@ 20 .B@@@ B@B@ELU52F152F251525151515252F1F2F2JX@B@B 21 v@B@B vB@B@uj255F15151F2F15252515151F1S15JNB@B@ 22 PB@BX @B@BBYu2F1F1F2F15152F2515151F152F1jP@B@B 23 B@B@v @B@BBjJu5251S25151F15251515151F15JNB@@B 24 BB@@: @B@B@XYL2UF151F15151F2F251F2F251j0@B@B 25 B@B@i @B@B@BPJJJU251111152525152121Uuv1B@B@B. 26 FB@B@B vB@B@B@ZSjjLujUu1U1u2u2uuJJLj2XZ@@@B@@: 27 @B@B@u v@@@B@B@MOXkuujuJjJuu55qEMB@@@B@B@B@Bi 28 :@B@B@ :P@B@B@@@B@B@B@B@B@B@@@B@B@B@U L@B@Bi 29 r@B@BE .vO@@B@B@B@B@B@B@B@B@MU: Y@B@B, 30 r@B@Bu ,rL52F15Uv;: k@B@B 31 ,@@@BJ :BB1 B@B@M 32 . @B@BP .5X, @B@B@Bv B@B@: 33 r@B@@@@Mu: BB@B@ .B@B@ .8B@B@B@BF, uB@B@ 34 7B@B@B@@@B@B8B@@@ 7B@B@M iMB@B@@@B@Xr. @B@B: 35 .:iJZ@B@B@B@@@k :5@B@B@X ,SB@B@B@B@B@BPYi.. P@B@Z 36 .rB@B@B@BMi r@BONE0EM@B@B@B@B@: i5@B@@@B@B@B@@@B@ :B@B@ 37 @B@B@B@B@O @B@B@B@@@@@B@@@5. :LEB@B@B@B@B: @B@B 38 iB@B@ iB@B7 :ZM@B@B@BO57, .:i B@B@ii2OOk 39 M@B@2 @B@B@B@B@@@ 40 @B@B. .jOM07 .UB@B@B@B@@@B@r 41 .B@B@ MB@B@@@B7 M@B@B@B@Bi 42 r@B@B 7O@@BJ SB@B@B@B@B. PB@BP@@B@ 43 uB@BO @@@B@B@Br 8@@@B@B@B@: @B@B 44 S@@@F @B@B@B@B@@ .B@B@B@B@B ZB@Bk 45 SB@B1 B@B@B@B@@@ 5@B@B@7 B@B@. 46 v@B@k .B@@@@@B@r 2@B@B 47 vB@B@:r7; vBB@BF @B@B: 48 :71Z@B@B@B@B@B@B@BM 8B@BE 49 v@B@B@B@@@B@B@@@B@B@B@r @B@B@B@@@: 50 @B@B@B@BMFJi: MB@BJ .B@B@B@B@@@B@Ov 51 .7: :@B@@ ;@@B@B@B@B@@@@2 52 B@B@v Z@@@B ,LMB@B@B@r 53 rB@B@ B@B@B .EB@B@ 54 @B@BM .B@B@B .M@j 55 @B@B1 rB@@@M 56 :@B@Bj i8B@B@B@B@B@Bu GB@B@F 57 i@B@BX M@@@B@@@B@B@B@B@ :@@@B@i 58 i@B@B@ 7B@BFri:,:ivOB@X ,B@B@BM 59 .@B@B@L ,BB@@@Bi 60 qB@B@@7 jB@B@B@L 61 :B@B@B@2. JB@@@B@Bv 62 :@B@B@B@u. ,FB@B@B@BP, 63 .S@B@B@B@0r :jBB@B@B@@@B. 64 :P@B@B@B@BOv, .:7kO@B@B@B@@@B@B@@@ 65 .vBB@B@B@@@B@ONjr:, ,:rYXE@B@@@@@@@B@@@B@MEuri@@@B. 66 J@B@B@B@B@B@@@@@B@B@B@@BM8ENFPFUuUuuuU5XFP0GOMB@B@B@B@B@@@B@B@B@B@B@BMX2vr::::,iB@B@ 67 rB@BM71NMB@B@B@@@B@@@@@B@B@B@B@B@@@B@@@B@@@B@B@B@B@@@B@@@B@BBZqULri:::::::;;rr:r@B@B. 68 u@B@E.,::::iirvLJFFN0OOMM@B@BMO@B@B@@@B@B@@@@@B@MuL2JY77ii:::::::ii;irrrr7r7rr:iB@B@. 69 1B@BZ,;rr;;ii:i::::::::::::,.:Z@@B@B@quLYJqB@B@B@q: ::::ii;;rrrr7rrr7r7rrii::::u@B@B. 70 F@@@P.::i;rrrrrrrrrr;r;r;ri,7@@@@@u. L@@B@BL,rr7r7r7r7rrrrrrii::::iLSBB@B@B@: 71 OB@B@EF7;::,::ii;ir;rrrrr;:7@B@BO ..... N@@@BL:rrrrri;ii:::::irLF8B@B@B@B@B@Bv 72 Z@B@@@B@B@MZ5J7ri:::,:::::,@B@@E .,,:,,.. N@B@B,.:::::i;7j2NO@B@B@B@B@B@E:F@B@P 73 @B@BBB@@@B@B@B@@@B@MOqX1u7UB@B@ .:,,,,.. ,. B@B@k1NOM@B@B@@@B@B@B@B@BSi iB@B@ 74 iB@B@ iYG@@@@B@@@B@B@@@B@B@B@M ,,:,,., rB@B@5. ZB@B@B@B@@@B@@@B@BBF7, @B@B 75 B@B@u :rjSO@@B@B@B@B@B@ .,,,.,. r@@@@@B8M@B@B@B@BOFu;:. B@B@i 76 S@B@B @B@@r ....... :5@B@B@B@B 5B@BB 77 L@@@B, 7@B@Bi . . . .B@B@Bu @B@@. 78 G@B@B; q@B@Bk 7@B@BM G@B@@ 79 B@B@B: L@B@B@O7. .rOB@B@Bu B@B@B 80 qB@M ZB@B@@@B@@@B@B@B@Z .B@@@B 81 7MB@B@B@B@B@Mv S@8. 82 ,:7ri. 83 84 85 ... . .. .. 86 :7FB2 B@B r. :@B. L@@ @B ,.,.,.. 87 .@@@@B@B@B@@@B OB@ L@BO j@@ B@B@B@B@B@B@@@B@ 0PXSXSSJMB@L5FXSSuNB@u5SXSXXZi ,,,,., iB@B@@@@ B@B@B@B@@@B@M 88 @BOurE@B F@B M@@M: O@i :::,:,,.. :@B@O @@@@B@@@B@B@B@B@B@@@B@B@@@B@B2 @B@B@B .@E .B@ .,,.... @BL.. 89 rBB rB@ B@Y vEFL@BNuF2uj u@BX .B5 F5 B@ B@ BE O@. q@ 90 v@B :@@ E@B@B@B@B@@@ XB@P k1jujjSMG0qPqMB@BBB@B@B@v @B B@ @0 @B iLUUuY. ZB, 91 @B@B@B@B@B@B@@@B@B@B@B@B@B@B@B L@u .@B @@@ @B@B@BBOMOM@E2PXqkLi:vi,. @@ B@ Bq 0B, B@@@@@Y N@: 92 ii::,.S@B .:,:,.:@@i.::,. ,i @B. JBq 0@1 iJ r@Y @@ @B @B @1 B@ MB .B7 NB: 93 7B@ @@ :@7 :@@ B@i.:::::: MBO ,::::i MB@ B@O E@B7 B@ B@ Bk @B: O@ ,@r k@, 94 r@M r5 @Bu 5@Bk M@v @B B@B@B@B@B@@@B@B@B@: 5B@. BE r@@F @B @B @E @B OB. :B7 PB: 95 ,:MB@B@B@B@. U@B .@@@. .@B PB8 E@q ;i .O; J B@ B@ B8 :@q E@ .@r k@, 96 B@B@@@B@BPu7, B@ uB@5 v@@S B@ E@E UEkk5277J1YvrBB@r7LYrLUFFkkqE: @B MB @Z B@ PBi YBv NB: 97 0Mui. LBB MB@BB 7B@B@: OBO @B@B@B@B@O@B@B@B@B@O@B@B@@@B@; @@ @@ .@0 @B P@B@B@v N@: 98 v@B qB@Br iXi B@BP 8@O 7@@ iBX @Bi @B@B@B @B7v@BG @B: OB: 99 JB@ JB@B51@B M@@ LB@:rB@Bi GBM ,B@BL r@8 vB@8, .@@ 5@ .@Gq@Bv , Z@: 100 L@B PB@B@J M@B. @@7 i@B@ 0@7 B@M iO@@@r YBB r@B@BY. :. :@q MB: 101 G@N5S@BB Z@S. P@BZ.uB@ ,B@B7 UB@B@@@B: OB@@@5 j@B L@B@B@, iBB FMq1OB@ 102 2B@B@MJ :@B@B@: Sj NFXF5i ,@u qB@ .Y. i@O Y@B@BZ. 103 .. :Ur 104 105 106 107 k :..,, r ii v: ir .L E ..,,:,iivv :.. ,F : u .:iu1 108 .u5BjL:i@@rB@ @k :Bi 7@Bu. uMiNBuL ,@SSuEB5qZUO8 :qN1uM@7777: :v@B i2X@vS@ Bv @ 7B7v7i: 109 .@ ,B UB v@: BX Li O O7u 2 O. 28 .Br,S :B. r7vvrE@7vjLL :B Yiv@:7@j BqiB 7B 110 :LuB27i8 uG .B@r..:ii,,F@: JO1@ 0;F B7@: Lr rOui k. M1::2@:ii@ ,BqF i7@,78 ON.. rB@Y7Z@ 111 2 @r NY55E: r:@B77rBr :2@.v1ik .@., uM ,OG:Bq Br @5::2@,:iB, ,, @ :;vBiii @8ir vJY7 Mu 112 B 8E7 B 0O .@ @i :@B7 Mi 5B5: .P: i,BF j i2 5Yi:F@:ii8 .B7G 77J@rvJ: B7 @ P7 BPG 113 :@k@. @v7rO7 2B B B, i@ @ iJujLr@G77uJU .7r7iNBi;7rr uBL :.:B .. .@ B B BBJ 114 @i 1ZXqkEq0X0 7@P qk0B5 BE 7@ B B7 ZXF2U8@j11k0r YB.rSuuuGjUkX 1P @PXv@i X@: 115 .,. . 116 117 118 119 */ View Code

對拍:

1 @echo off 2 3 set path=C:\Windows\System32 4 5 :loop 6 7 data.exe 8 ddd.exe 9 PIA.exe 10 11 fc ddd.out PIA.out 12 13 if not errorlevel 1 goto loop 14 15 pause 16 17 goto loop View Code

linux下的對拍:

1 #!/bin/sh 2 while true; do 3 ./data>ddd.in 4 ./ddd<ddd.in>ddd.out 5 ./pia<ddd.in>pia.out 6 if diff ddd.out pia.out; then 7 echo 沒問題 8 else 9 echo 有問題 10 exit 0 11 fi 12 done View Code

?線段樹:

1 int a[110000]; 2 struct ddd{int tleft,tright,mid,tvalue,delta;}tree[510000]; 3 void delta_push(int x){ 4 tree[x<<1].delta+=tree[x].delta,tree[x<<1|1].delta+=tree[x].delta; 5 tree[x<<1].tvalue+=tree[x].delta,tree[x<<1|1].tvalue+=tree[x].delta; 6 tree[x].delta=0; 7 } 8 void get_SegmentTree(int x,int _left,int _right){ 9 tree[x].tleft=_left,tree[x].tright=_right,tree[x].mid=(_left+_right)>>1,tree[x].delta=0; 10 if(_left==_right) tree[x].tvalue=a[_left]; 11 else{ 12 get_SegmentTree(x<<1,_left,tree[x].mid),get_SegmentTree(x<<1|1,tree[x].mid+1,_right); 13 tree[x].tvalue=max(tree[x<<1].tvalue,tree[x<<1|1].tvalue); 14 } 15 } 16 int search(int x,int _left,int _right){ 17 if(tree[x].tvalue==_left && tree[x].tright=_right) return tree[x].tvalue; 18 else{ 19 delta_push(x); 20 if(_left<=tree[x].mid && _right>tree[x].mid) return max(search(x<<1,_left,tree[x].mid),search(x<<1|1,tree[x].mid+1,_right)); 21 else if(_right<=tree[x].mid) return search(x<<1,_left,_right); 22 else return search(x<<1|1,_left,_right); 23 } 24 } 25 void buff(int x,int _left,int _right,int z){ 26 if(tree[x].tleft==_left && tree[x].tright==_right) tree[x].tvalue+=z,tree[x].delta+=z; 27 else{ 28 delta_push(x); 29 if(_left<=tree[x].mid && _right>tree[x].mid) buff(x<<1,_left,tree[x].mid,z),buff(x<<1|1,tree[x].mid+1,_right); 30 else if(_right<=tree[x].mid) buff(x<<1,_left,_right,z); 31 else buff(x<<1|1,_left,_right,z); 32 } 33 } View Code

?SPFA:

1 struct ddd{int next,y,evalue;}e[210000]; int LINK[110000],ltop=0; 2 inline void insert(int x,int y,int z){e[++ltop].next=LINK[x];LINK[x]=ltop;e[ltop].y=y;e[ltop].evalue=z;} 3 int dui[110000],tou=0; 4 bool visited[110000]; 5 int dist[1100000];//注意節點可能會重復進隊 6 void SPFA(int x){//本質就是如果這個點可以松弛就松弛,如果不在隊里就進隊 7 memset(visited,0,sizeof(visited)); 8 memset(dist,0,sizeof(dist)); 9 dui[tou=1]=x; dist[x]=0; 10 for(int k=1;k<=tou;k++){ 11 visited[dui[k]]=false; 12 for(int i=LINK[dui[k]];i;i=e[i].next) 13 if(dist[dui[k]]+e[i].evalue < dist[e[i].y]){ 14 dist[e[i].y]=dist[dui[k]]+e[i].evalue; 15 if(!visited[e[i].y]) dui[++tou]=e[i].y,visited[e[i].y]=true; 16 } 17 } 18 } View Code

?并查集:

1 int ji[110000]; 2 int cha(int x){ 3 int _ji=x; 4 while(ji[_ji]!=_ji) _ji=ji[_ji]; 5 while(x!=_ji){ 6 int temp=ji[x]; 7 ji[x]=_ji; 8 x=temp; 9 } 10 return _ji; 11 } 12 int bing(int x,int y){ 13 x=cha(x),y=cha(y); 14 ji[y]=x; 15 } View Code

?dinic:

1 const int oo=168430090; 2 struct ddd{int next,y,evalue,fan;}e[1100000]; int LINK[510000],ltop=0; 3 inline void insert(int x,int y,int z){ 4 e[++ltop].next=LINK[x];LINK[x]=ltop;e[ltop].y=y; 5 e[ltop].evalue=z;e[ltop].fan=ltop+1; 6 e[++ltop].next=LINK[y];LINK[y]=ltop;e[ltop].y=x; 7 e[ltop].evalue=0;e[ltop].fan=ltop-1; 8 } 9 int n,m; 10 int s,t; 11 int dui[510000],tou=0; 12 int level[510000]; 13 bool get_level(){ 14 memset(level,-1,sizeof(level)); 15 dui[tou=1]=s; level[s]=0; 16 for(int k=1;k<=tou;k++) 17 for(int i=LINK[dui[k]];i;i=e[i].next) 18 if(e[i].evalue && level[e[i].y]==-1){ 19 level[e[i].y]=level[dui[k]]+1; 20 dui[++tou]=e[i].y; 21 } 22 return level[t]!=-1; 23 } 24 int max_flow(int x,int y){ 25 if(x==t) return y; 26 int maxflow=0,flow; 27 for(int i=LINK[x];i && maxflow<y;i=e[i].next) 28 if(level[e[i].y]==level[x]+1 && e[i].evalue) 29 if(flow=max_flow(e[i].y,min(y-maxflow,e[i].evalue))){ 30 maxflow+=flow; 31 e[i].evalue-=flow,e[e[i].fan].evalue+=flow; 32 } 33 if(!maxflow) level[x]=-1; 34 return maxflow; 35 } 36 int dinic(){ 37 int bowl=0,flow; 38 while(get_level())while(flow=max_flow(s,oo))bowl+=flow; 39 return bowl; 40 } View Code

?快速冪:

1 long long fast_mi(long long x,long long y){ 2 long long base=x,z=1; 3 while(y){ 4 if(y&1) z*=base; 5 base*=base; 6 } 7 return z; 8 } View Code

?SBT:

1 struct dcd{int lchild,rchild,size,tvalue;}tree[110000]; int ttop=0,root=0; 2 void left_rotate(int &x){ 3 int y=tree[x].rchild; 4 tree[x].rchild=tree[y].lchild; 5 tree[y].lchild=x; 6 tree[y].size=tree[x].size; 7 tree[x].size=tree[tree[x].lchild].size+tree[tree[x].rchild].size+1; 8 x=y; 9 } 10 void right_rotate(int &x){ 11 int y=tree[x].lchild; 12 tree[x].lchild=tree[y].rchild; 13 tree[y].rchild=x; 14 tree[y].size=tree[x].size; 15 tree[x].size=tree[tree[x].lchild].size+tree[tree[x].rchild].size+1; 16 x=y; 17 } 18 void smaintain(int &x,bool _flag){ 19 if(!_flag){ 20 if(tree[tree[tree[x].lchild].lchild].size>tree[tree[x].rchild].size) right_rotate(x); 21 else if(tree[tree[tree[x].lchild].rchild].size>tree[tree[x].rchild].size) left_rotate(tree[x].lchild),right_rotate(x); 22 else return ; 23 } 24 else{ 25 if(tree[tree[tree[x].rchild].rchild].size>tree[tree[x].lchild].size) left_rotate(x); 26 else if(tree[tree[tree[x].rchild].lchild].size>tree[tree[x].lchild].size) right_rotate(tree[x].rchild),left_rotate(x); 27 else return ; 28 } 29 smaintain(tree[x].lchild,false),smaintain(tree[x].rchild,true); 30 smaintain(x,true),smaintain(x,false); 31 } 32 void insert(int &x,int _value){ 33 if(!x){ 34 x=++ttop; 35 tree[x].lchild=tree[x].rchild=0; 36 tree[x].size=1; 37 tree[x].tvalue=_value; 38 } 39 else{ 40 tree[x].size++; 41 if(_value<=tree[x].tvalue) insert(tree[x].lchild,_value); 42 else insert(tree[x].rchild,_value); 43 smaintain(x,_value>tree[x].tvalue); 44 } 45 } 46 void remove(int &x,int z){ 47 if(!x) return ; 48 tree[x].size--; 49 if(z<tree[x].tvalue) remove(tree[x].lchild,z); 50 else if(z>tree[x].tvalue) remove(tree[x].rchild,z); 51 else{ 52 if(!tree[x].lchild && !tree[x].rchild) x=0; 53 else if(!(tree[x].lchild*tree[x].rchild)) x=tree[x].lchild+tree[x].rchild; 54 else{ 55 int temp=tree[x].rchild; 56 while(tree[temp].lchild) temp=tree[temp].lchild; 57 tree[x].tvalue=tree[temp].tvalue; 58 remove(tree[x].rchild,tree[temp].tvalue); 59 } 60 } 61 } 62 int select(int &x,int y){ 63 if(!x) return -1; 64 if(y<=tree[tree[x].lchild].size) return select(tree[x].lchild,y); 65 else if(y>tree[tree[x].lchild].size+1) return select(tree[x].rchild,y-tree[tree[x].lchild].size-1); 66 else return tree[x].tvalue+bowl; 67 } 68 int rank(int &x,int y){//不知道對不對,應該對了(吧) 69 if(!x) return -999999999; 70 if(y<tree[x].tvalue) return search(tree[x].lchild,y); 71 else if(y>tree[x].tvalue) return search(tree[x].rchild,y)+tree[tree[x].lchild].size+1; 72 else return tree[tree[x].lchild].size+1; 73 } View Code

?kmp:

1 char s[110000]; int n=0; 2 char a[110000]; int l=0; 3 int next[110000]; 4 void get_next(){ 5 int temp=next[0]=-1; 6 for(int i=1;i<n;i++){ 7 while(temp>-1 && s[temp+1]!=s[i]) temp=next[temp]; 8 temp+=(s[temp+1]==s[i]); 9 next[i]=temp; 10 } 11 } 12 int kmp(){ 13 int temp=-1; 14 for(int i=0;i<l;i++){ 15 while(temp>-1 && s[temp+1]!=a[i]) temp=next[temp]; 16 temp+=(s[temp+1]==a[i]); 17 if(temp==n-1) return i;//temp=next[temp]; 18 } 19 } View Code

?萬進制(輸入,乘法,輸出,除單精):

1 乘法: 2 const int ss=10000; 3 char _a[110],_b[110]; int _la=0,_lb=0; 4 int a[110],b[110],la=0,lb=0; 5 int c[110],lc=0; 6 void multiply(){ 7 lc=la+lb-1; 8 for(int i=1;i<=la;i++) 9 for(int j=1;j<=lb;j++){ 10 c[i+j-1]+=a[i]*b[j]; 11 c[i+j]+=c[i+j-1]/ss,c[i+j-1]%=ss; 12 } 13 //for(int i=1;i<=lc;i++) c[i+1]+=c[i]/ss,c[i]%=ss;最后再處理容易爆掉 14 while(c[lc+1]) lc++,c[lc+1]+=c[lc]/ss,c[lc]%=ss; 15 } 16 17 輸入: 18 19 scanf("%s%s",_a+1,_b+1); _la=strlen(_a+1),_lb=strlen(_b+1); 20 for(int i=_la;i>=1;i-=4){ 21 la++; 22 for(int j=max(i-3,1);j<=i;j++) 23 a[la]=(a[la]<<3)+(a[la]<<1)+_a[j]-'0'; 24 } 25 for(int i=_lb;i>=1;i-=4){ 26 lb++; 27 for(int j=max(i-3,1);j<=i;j++) 28 b[lb]=(b[lb]<<3)+(b[lb]<<1)+_b[j]-'0'; 29 } 30 if(!a[1] || !b[1]){ cout<<0<<endl; return 0;} 31 32 輸出: 33 34 cout<<c[lc]; 35 for(int i=lc-1;i>=1;i--) printf("%04d",c[i]); 36 cout<<endl; 37 38 除單精: 39 void division(int z){ 40 lc=la-(a[la]<z); 41 for(int i=la;i>=1;i--){ 42 c[i]=a[i]/z; 43 a[i-1]+=(a[i]%z)*ss; 44 } 45 for(int i=1;i<=lc;i++) c[i+1]+=c[i]/ss,c[i]%=ss; 46 while(c[lc+1]) lc++,c[lc+1]+=c[lc]/ss,c[lc]%=ss; 47 } View Code

?篩歐拉函數:

1 void shai(){ 2 memset(kang,0,sizeof(kang)); 3 phi[1]=1; 4 for(int i=2;i<=n;i++){ 5 if(!kang[i]){ phi[i]=i-1; zhi[++ztop]=i;} 6 for(int j=1;j<=ztop && zhi[j]*i<=n;j++){ 7 kang[i*zhi[j]]=true; 8 if(!(i%zhi[j])){ phi[i*zhi[j]]=phi[i]*zhi[j]; break;} 9 phi[i*zhi[j]]=phi[i]*phi[zhi[j]]; 10 } 11 } 12 } View Code

?(小根)堆:

1 int hheap[110000],size=0; 2 void push(int x){ 3 hheap[size]=x; 4 int current=size,father=(size-1)>>1; 5 while(hheap[current]<hheap[father]){ 6 swap(hheap[current],hheap[father]); 7 current=father,father=(current-1)>>1; 8 } 9 size++; 10 } 11 void updata(int x){ 12 int lchild=(x<<1)+1,rchild=(x<<1)+2; 13 int min_id=x; 14 if(lchild<size && hheap[lchild]<hheap[min_id]) min_id=lchild; 15 if(rchild<size && hheap[rchild]<hheap[min_id]) min_id=rchild; 16 if(min_id!=x){ 17 swap(hheap[x],hheap[min_id]); 18 updata(min_id); 19 } 20 } 21 void pop(){ 22 swap(hheap[0],hheap[size-1]); 23 size--; 24 updata(0); 25 } View Code

?tarjian:

1 int dfn[110000],low[110000],dfs_cnt=0; 2 bool visited[110000]; 3 int zhan[110000],top=0; 4 int group[110000],group_cnt=0; 5 bool is[110000]; 6 void tarjian(int x,int _father){ 7 visited[x]=true; 8 dfn[x]=low[x]=++dfs_cnt; 9 zhan[++top]=x; 10 for(int i=LINK[x];i;i=e[i].next){ 11 if(!dfn[e[i].y]){ 12 tarjian(e[i].y,x); 13 low[x]=min(low[x],low[e[i].y]); 14 if(low[e[i].y] >= dfn[x]) is[x]=true; 15 } 16 else if(visited[e[i].y]) 17 low[x]=min(low[x],dfn[e[i].y]); 18 } 19 if(dfn[x]==low[x]){ 20 group_cnt++; 21 int tmep; 22 do{ 23 temp=zhan[top--]; 24 group[temp]=group_cnt; 25 visited[temp]=false; 26 }while(temp!=x); 27 } 28 } View Code

?費用流:

1 int read(){int z=0,mark=1; char ch=getchar(); 2 while(ch<'0'||ch>'9'){if(ch=='-')mark=-1; ch=getchar();} 3 while(ch>='0'&&ch<='9'){z=(z<<3)+(z<<1)+ch-'0'; ch=getchar();} 4 return z*mark; 5 } 6 const int oo=168430090; 7 struct ddd{int next,y,evalue,rev,cost;}e[1100000]; int LINK[510000]; 8 inline void insert(int x,int y,int z,int _cost){ 9 e[++ltop].next=LINK[x];LINK[x]=ltop;e[ltop].evalue=z;e[ltop].rev=ltop+1;e[ltop].cost=_cost; 10 e[++ltop].next=LINK[y];LINK[y]=ltop;e[ltop].evalue=0;e[ltop].rev=ltop-1;e[ltop].cost=-_cost; 11 } 12 int dist[510000]; 13 int QUEUE[510000],head=0; bool visited[510000]; 14 int last[510000],last_e[510000]; 15 bool spfa(){ 16 memset(visited,0,sizeof(visited)); 17 memset(dist,10,sizeof(dist)); 18 QUEUE[head=1]=s; dist[s]=0; 19 for(int k=1;k<=head;k++){ 20 for(int i=LINK[QUEUE[k]];i;i=e[i].next) 21 if(e[i].evalue && dist[QUEUE[k]]+e[i].cost<dist[e[i].y]){ 22 dist[e[i].y]=dist[QUEUE[k]]+e[i].cost; 23 last[e[i].y]=QUEUE[k],last_e[e[i].y]=i; 24 if(!visited[e[i].y]) QUEUE[++head]=e[i].y,visited[e[i].y]=true; 25 } 26 visited[QUEUE[k]]=false; 27 } 28 return dist[t]; 29 } 30 int cost_flow(){ 31 int bowl=0; 32 while(spfa()){ 33 int min_flow=oo; 34 for(int i=t;i!=s;i=last[i]) min_flow=min(min_flow,e[last_e[i]].evalue); 35 for(int i=t;i!=s;i=last[i]){ 36 bowl+=min_flow*e[last_e[i]].cost; 37 e[last_e[i]].evalue-=min_flow,e[e[last_e[i]].rev].evalue+=min_flow; 38 } 39 } 40 return bowl; 41 } View Code

高斯消元

1 int gauss(){ 2 int now=1; 3 for(int i=1;i<=n;i++){ 4 int temp=now; 5 while(temp<=n && !(double_abs(a[temp][i])>eps)) temp++; 6 if(temp>n) continue; 7 if(temp!=now) 8 for(int j=1;j<=n+1;j++) swap(a[temp][j],a[now][j]); 9 double c=a[now][i]; 10 for(int j=1;j<=n+1;j++) a[now][j]/=c; 11 for(int j=1;j<=n;j++)if(j!=now){ 12 c=a[j][i]; 13 for(int k=1;k<=n+1;k++) 14 a[j][k]-=c*a[now][k]; 15 } 16 now++; 17 } 18 } View Code

?樹狀數組+二維樹狀數組(結合這兩個可以腦補出高維樹狀數組?):

1 //===============一維================== 2 3 int e[41000],lowbit[41000]; 4 void get_lowbit(){for(int i=1;i<=32001;++i)lowbit[i]=i&-i;} 5 int query(int x){ 6 int bowl=0; 7 while(x) bowl+=e[x],x-=lowbit[x]; 8 return bowl; 9 } 10 void modify(int x){while(x<=32001) e[x]++,x+=lowbit[x];} 11 12 //===============二維================== 13 14 long long e[1100][1100]; int lowbit[1100]; 15 void get_lowbit(){for(int i=1;i<=n;++i)lowbit[i]=i&-i;} 16 long long query(int x,int y){ 17 if(x==0 || y==0) return 0; 18 long long bowl=0; 19 for(int i=x;i;i-=lowbit[i])for(int j=y;j;j-=lowbit[j]) bowl+=e[i][j]; 20 return bowl; 21 } 22 void modify(int x,int y,long long z){ 23 for(int i=x;i<=n;i+=lowbit[i])for(int j=y;j<=n;j+=lowbit[j]) e[i][j]+=z; 24 } View Code

?權值線段樹套區間線段樹,可以求動態區間第k大(這個代碼求的區間第k大但是修改有點不一樣,來自BZOJ3110):

1 int n,m; int N; 2 struct dcd{int sleft,sright,mid,root;}tree[1700000]; 3 struct ddc{int mid,lchild,rchild,delta; long long svalue;}tree_2[21000000]; 4 //數字個數最壞5e4*5e4會爆int 5 int tree_cnt=0; 6 int new_node(int x){ 7 tree_2[x].lchild=tree_2[x].rchild=tree_2[x].svalue=tree_2[x].delta=0; 8 return x; 9 } 10 void get_SegmentTree(int x,int _left,int _right){ 11 tree[x].sleft=_left,tree[x].sright=_right,tree[x].mid=(_left+_right)>>1; 12 tree[x].root=new_node(++tree_cnt); 13 if(_left!=_right){ 14 get_SegmentTree(x<<1,_left,tree[x].mid); 15 get_SegmentTree(x<<1|1,tree[x].mid+1,_right); 16 } 17 } 18 void push_down(int x,int uleft,int uright){ 19 int umid=(uleft+uright)>>1; 20 if(!tree_2[x].lchild) tree_2[x].lchild=new_node(++tree_cnt); 21 if(!tree_2[x].rchild) tree_2[x].rchild=new_node(++tree_cnt); 22 //tree_2[tree_2[x].lchild].svalue+=(tree[x].mid-tree[x].sleft+1)*tree_2[x].delta; 23 //tree_2[tree_2[x].rchild].svalue+=(tree[x].sright-tree[x].mid)*tree_2[x].delta; 24 tree_2[tree_2[x].lchild].svalue+=(umid-uleft+1)*tree_2[x].delta; 25 tree_2[tree_2[x].rchild].svalue+=(uright-umid)*tree_2[x].delta; 26 tree_2[tree_2[x].lchild].delta+=tree_2[x].delta,tree_2[tree_2[x].rchild].delta+=tree_2[x].delta; 27 tree_2[x].delta=0; 28 } 29 void modify_2(int x,int _left,int _right,int uleft,int uright){ 30 int umid=(uleft+uright)>>1; 31 if(uleft==_left && uright==_right){ 32 tree_2[x].svalue+=uright-uleft+1,tree_2[x].delta++; 33 return ; 34 } 35 push_down(x,uleft,uright); 36 if(_left<=umid && _right>umid){ 37 modify_2(tree_2[x].lchild,_left,umid,uleft,umid); 38 modify_2(tree_2[x].rchild,umid+1,_right,umid+1,uright); 39 } 40 else if(_right<=umid) modify_2(tree_2[x].lchild,_left,_right,uleft,umid); 41 else modify_2(tree_2[x].rchild,_left,_right,umid+1,uright); 42 tree_2[x].svalue=tree_2[tree_2[x].lchild].svalue+tree_2[tree_2[x].rchild].svalue; 43 //這句忘了QAQ 44 //if(tree_2[x].svalue<_value) cout<<"fuck!!!"<<" "<<x<<endl; 45 } 46 void modify(int x,int y,int _left,int _right){ 47 modify_2(tree[x].root,_left,_right,1,n); 48 if(tree[x].sleft==tree[x].sright) return ; 49 if(y<=tree[x].mid) modify(x<<1,y,_left,_right); 50 else modify(x<<1|1,y,_left,_right); 51 } 52 long long query_2(int x,int _left,int _right,int uleft,int uright){ 53 int umid=(uleft+uright)>>1; 54 if(uleft==_left && uright==_right) return tree_2[x].svalue; 55 push_down(x,uleft,uright); 56 if(_left<=umid && _right>umid) 57 return query_2(tree_2[x].lchild,_left,umid,uleft,umid)+query_2(tree_2[x].rchild,umid+1,_right,umid+1,uright); 58 else if(_right<=umid) return query_2(tree_2[x].lchild,_left,_right,uleft,umid); 59 else return query_2(tree_2[x].rchild,_left,_right,umid+1,uright); 60 } 61 int query(int x,long long y,int _left,int _right){ 62 if(tree[x].sleft==tree[x].sright) return tree[x].sleft; 63 long long rchild_cnt=query_2(tree[x<<1|1].root,_left,_right,1,n); 64 if(y<=rchild_cnt) query(x<<1|1,y,_left,_right); 65 else query(x<<1,y-rchild_cnt,_left,_right); 66 } View Code

?splay(來自模板題NOI2005維修序列):

1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 #include<queue> 7 using namespace std; 8 int read(){int z=0,mark=1; char ch=getchar(); 9 while(ch<'0'||ch>'9'){if(ch=='-')mark=-1; ch=getchar();} 10 while(ch>='0'&&ch<='9'){z=(z<<3)+(z<<1)+ch-'0'; ch=getchar();} 11 return z*mark; 12 } 13 const int oo=168430090; 14 #define N 1100000 15 int n,m,a[N],id[N],cnt=0; 16 int fa[N],c[N][2],sum[N],size[N],v[N],mx[N],lx[N],rx[N]; 17 bool tag[N],rev[N]; int root; 18 queue<int> q; 19 void updata(int x){ 20 int l=c[x][0],r=c[x][1]; 21 sum[x]=sum[l]+sum[r]+v[x]; 22 size[x]=size[l]+size[r]+1; 23 mx[x]=max(max(mx[l],mx[r]),rx[l]+v[x]+lx[r]); 24 lx[x]=max(lx[l],sum[l]+v[x]+lx[r]); 25 rx[x]=max(rx[r],sum[r]+v[x]+rx[l]); 26 } 27 void push_down(int x){ 28 int l=c[x][0],r=c[x][1]; 29 if(tag[x]){ 30 rev[x]=tag[x]=0; 31 if(l) tag[l]=1,v[l]=v[x],sum[l]=v[x]*size[l]; 32 if(r) tag[r]=1,v[r]=v[x],sum[r]=v[x]*size[r]; 33 if(v[x]>=0){ 34 if(l) lx[l]=rx[l]=mx[l]=sum[l]; 35 if(r) lx[r]=rx[r]=mx[r]=sum[r]; 36 } 37 else{ 38 if(l) lx[l]=rx[l]=0,mx[l]=v[x]; 39 if(r) lx[r]=rx[r]=0,mx[r]=v[x]; 40 } 41 } 42 if(rev[x]){ 43 rev[x]=0,rev[l]^=1,rev[r]^=1; 44 swap(lx[l],rx[l]),swap(lx[r],rx[r]); 45 swap(c[l][0],c[l][1]),swap(c[r][0],c[r][1]); 46 } 47 } 48 void rotate(int x,int &goal){ 49 int y=fa[x],z=fa[y],l,r; 50 l=(c[y][1]==x); r=l^1; 51 if(y==goal) goal=x; 52 else c[z][c[z][1]==y]=x; 53 fa[c[x][r]]=y,fa[y]=x,fa[x]=z; 54 c[y][l]=c[x][r],c[x][r]=y; 55 updata(y),updata(x); 56 } 57 void splay(int x,int &goal){ 58 int y,z; 59 while(x!=goal){ 60 y=fa[x],z=fa[y]; 61 if(y!=goal) rotate(c[y][0]==x^c[z][0]==y?x:y,goal); 62 rotate(x,goal); 63 } 64 } 65 int search(int x,int y){ 66 push_down(x); int l=c[x][0],r=c[x][1]; 67 while(size[l]+1!=y){ 68 if(y<=size[l]) x=l; 69 else y-=size[l]+1,x=r; 70 push_down(x); l=c[x][0],r=c[x][1]; 71 } 72 return x; 73 } 74 void rec(int x){ 75 if(!x) return ; 76 int l=c[x][0],r=c[x][1]; 77 rec(l),rec(r); q.push(x); 78 fa[x]=c[x][0]=c[x][1]=0; 79 tag[x]=rev[x]=0; 80 } 81 int split(int k,int tot){ 82 int x=search(root,k),y=search(root,k+tot+1); 83 splay(x,root),splay(y,c[x][1]); 84 return c[y][0]; 85 } 86 int query(int x,int tot){ return sum[split(x,tot)];} 87 void modify(int k,int tot,int val){ 88 int x=split(k,tot),y=fa[x]; 89 v[x]=val,tag[x]=1,sum[x]=size[x]*val; 90 if(val>=0) lx[x]=rx[x]=mx[x]=sum[x]; 91 else lx[x]=rx[x]=0,mx[x]=val; 92 updata(y),updata(fa[y]); 93 } 94 void rever(int k,int tot){ 95 int x=split(k,tot),y=fa[x]; 96 if(!tag[x]){ 97 rev[x]^=1; 98 swap(c[x][0],c[x][1]); 99 swap(lx[x],rx[x]); 100 updata(y),updata(fa[y]); 101 } 102 } 103 void erase(int k,int tot){ 104 int x=split(k,tot),y=fa[x]; 105 rec(x); c[y][0]=0; 106 updata(y),updata(fa[y]); 107 } 108 void build(int l,int r,int f){ 109 if(l>r) return ; 110 int mid=(l+r)>>1,now=id[mid],last=id[f]; 111 if(l!=r) build(l,mid-1,mid),build(mid+1,r,mid); 112 v[now]=a[mid],fa[now]=last,updata(now); 113 c[last][mid>=f]=now; 114 } 115 void insert(int k,int tot){ 116 for(int i=1;i<=tot;++i) a[i]=read(); 117 for(int i=1;i<=tot;++i){ 118 if(!q.empty()) id[i]=q.front(),q.pop(); 119 else id[i]=++cnt; 120 } 121 build(1,tot,0); int z=id[(1+tot)>>1]; 122 int x=search(root,k+1),y=search(root,k+2); 123 splay(x,root),splay(y,c[x][1]); 124 fa[z]=y,c[y][0]=z; 125 updata(y),updata(x); 126 } 127 int main(){//freopen("ddd.in","r",stdin); 128 cin>>n>>m; 129 mx[0]=a[1]=a[n+2]=-oo; 130 for(int i=1;i<=n;++i) a[i+1]=read(); 131 for(int i=1;i<=n+2;++i) id[i]=i; 132 build(1,n+2,0); 133 root=(n+3)>>1,cnt=n+2; 134 int x,tot,val; 135 char ch[10]; 136 while(m -->0){//趨向于 137 scanf("%s",ch); 138 if(ch[0]!='M'||ch[2]!='X') x=read(),tot=read(); 139 if(ch[0]=='I') insert(x,tot); 140 if(ch[0]=='D') erase(x,tot); 141 if(ch[0]=='M'){ 142 if(ch[2]=='X') printf("%d\n",mx[root]); 143 else val=read(),modify(x,tot,val); 144 } 145 if(ch[0]=='R') rever(x,tot); 146 if(ch[0]=='G') printf("%d\n",query(x,tot)); 147 } 148 return 0; 149 } View Code

?倍增lca:

1 void dfs(int x){ 2 dfs_order[++order_cnt]=x; 3 for(int i=1;(1<<i)<=deep[x];++i) ancestor[x][i]=ancestor[ancestor[x][i-1]][i-1]; 4 for(int i=LINK[x];i;i=e[i].next)if(e[i].y!=ancestor[x][0]){ 5 ancestor[e[i].y][0]=x; deep[e[i].y]=deep[x]+1; 6 //roots[e[i].y]=modify(roots[x],binary_search(a[e[i].y])); 7 dfs(e[i].y); 8 } 9 } 10 int lca(int x,int y){ 11 if(deep[x]<deep[y]) swap(x,y); 12 int _deep=deep[x]-deep[y]; 13 for(int i=0;i<=16;++i)if((1<<i)&_deep) x=ancestor[x][i]; 14 for(int i=16;i>=0;--i)if(ancestor[x][i]!=ancestor[y][i]) 15 x=ancestor[x][i],y=ancestor[y][i]; 16 if(x==y) return x; 17 else return ancestor[x][0]; 18 } View Code

?lct:

1 int fa[11000],c[11000][2],st[11000],delta[11000]; 2 bool is_root(int x){return c[fa[x]][0]!=x&&c[fa[x]][1]!=x;} 3 void push_down(int x){ 4 int l=c[x][0],r=c[x][1]; 5 if(delta[x]){ 6 delta[x]=0,delta[l]^=1,delta[r]^=1; 7 swap(c[x][0],c[x][1]); 8 } 9 } 10 void rotate(int x){ 11 int y=fa[x],z=fa[y],l,r; 12 l=(c[y][1]==x); r=l^1; 13 if(!is_root(y)) c[z][c[z][1]==y]=x; 14 fa[x]=z,fa[y]=x,fa[c[x][r]]=y; 15 c[y][l]=c[x][r],c[x][r]=y; 16 } 17 void splay(int x){ 18 int top=0; st[++top]=x; 19 for(int i=x;!is_root(i);i=fa[i]) st[++top]=fa[i]; 20 for(int i=top;i;--i) push_down(st[i]); 21 int y,z; 22 while(!is_root(x)){ 23 y=fa[x],z=fa[y]; 24 if(!is_root(y)) rotate(c[y][0]==x^c[z][0]==y?x:y); 25 rotate(x); 26 } 27 } 28 void access(int x){ 29 int last=0; 30 while(x){ 31 splay(x); 32 c[x][1]=last; 33 last=x,x=fa[x]; 34 } 35 } 36 void rever(int x){ access(x),splay(x),delta[x]^=1;} 37 void connect(int x,int y){ rever(x),fa[x]=y,splay(x);} 38 void cut(int x,int y){ 39 rever(x),access(y),splay(y),c[y][0]=fa[x]=0; 40 } 41 int search(int x){ 42 access(x),splay(x); 43 while(c[x][0]) x=c[x][0]; 44 return x; 45 } View Code

?自己優化的sbt:

1 int c[210000][2],sz[210000],v[210000],tot=1,root=1; 2 void rotate(int &x,bool mk){ if(!x) return ; 3 int y=c[x][mk^1],l=mk,r=mk^1; 4 c[x][r]=c[y][l]; c[y][l]=x; 5 sz[y]=sz[x]; sz[x]=sz[c[x][l]]+sz[c[x][r]]+1; 6 x=y; 7 } 8 void mt(int &x,bool mk){ if(!x) return ; 9 int l=mk,r=mk^1; 10 if(sz[c[c[x][l]][l]]>sz[c[x][r]]) rotate(x,mk^1); 11 else if(sz[c[c[x][l]][r]]>sz[c[x][r]]) 12 rotate(c[x][l],mk),rotate(x,mk^1); 13 else return ; 14 mt(c[x][l],mk),mt(c[x][r],mk^1); 15 mt(x,true),mt(x,false); 16 } 17 void ist(int &x,int y){ 18 if(!x){ x=++tot; c[x][0]=c[x][1]=0,sz[x]=1,v[x]=y;} 19 else sz[x]++,ist(c[x][y>v[x]],y),mt(x,y>v[x]); 20 } 21 void rmv(int &x,int y){ if(!x) return ; 22 --sz[x]; 23 if(y!=v[x]) rmv(c[x][y>v[x]],y); 24 else if(!c[x][0] && !c[x][1]) x=0; 25 else if(!(c[x][0]*c[x][1])) x=c[x][0]+c[x][1]; 26 else{ 27 int tmp=c[x][1]; 28 while(c[tmp][0]) tmp=c[tmp][0]; 29 v[x]=v[tmp]; rmv(c[x][1],v[tmp]); 30 } 31 } 32 int sch(int x,int y){ 33 while(y!=sz[c[x][1]]+1){ if(x<1) return 0; 34 if(y<=sz[c[x][1]]) x=c[x][1]; 35 else y-=sz[c[x][1]]+1,x=c[x][0]; 36 } 37 return x; 38 } 39 int fd(int x,int y){while(v[x]!=y)x=c[x][y>v[x]]; return x;} View Code

?后綴數組(注意height下標從1開始(因為rank從1開始)):

1 int n; char s[1100000]; 2 int rk[1100000],hght[1100000]; 3 int cnt[220],cntrk[1100000]; 4 int rk1[1100000],rk2[1100000]; 5 int sa[1100000],tmpsa[1100000]; 6 int ans[1100000]; 7 void gtsffxrk(){ 8 memset(cnt,0,sizeof(cnt)); 9 for(int i=0;i<n;++i) ++cnt[s[i]]; 10 for(int i=1;i<=210;++i) cnt[i]+=cnt[i-1]; 11 for(int i=0;i<n;++i) rk[i]=cnt[s[i]]-1; 12 for(int l=1;l<n;l<<=1){ 13 for(int i=0;i<n;++i) rk1[i]=rk[i],rk2[i]=(i+l<n)?rk[i+l]:0; 14 //memset(cntrk,0,sizeof(cntrk)); 15 fill(cntrk,cntrk+n,0); 16 for(int i=0;i<n;++i) ++cntrk[rk2[i]]; 17 for(int i=1;i<n;++i) cntrk[i]+=cntrk[i-1]; 18 for(int i=n-1;i>=0;--i) tmpsa[--cntrk[rk2[i]]]=i; 19 //memset(cntrk,0,sizeof(cntrk)); 20 fill(cntrk,cntrk+n,0); 21 for(int i=0;i<n;++i) ++cntrk[rk1[i]]; 22 for(int i=1;i<n;++i) cntrk[i]+=cntrk[i-1]; 23 for(int i=n-1;i>=0;--i) sa[--cntrk[rk1[tmpsa[i]]]]=tmpsa[i]; 24 rk[sa[0]]=0; 25 bool flg=true; 26 for(int i=1;i<n;++i){ 27 rk[sa[i]]=rk[sa[i-1]]; 28 rk[sa[i]]+=(rk1[sa[i]]!=rk1[sa[i-1]] || rk2[sa[i]]!=rk2[sa[i-1]]); 29 if(rk1[sa[i]]==rk1[sa[i-1]] || rk2[sa[i]]==rk2[sa[i-1]]) flg=false; 30 } 31 if(flg) break; 32 } 33 } 34 void gthght(){ 35 int l=0; 36 for(int i=0;i<n;++i)if(rk[i]){ 37 int j=sa[rk[i]-1]; 38 while(i+l<n && j+l<n && s[i+l]==s[j+l]) ++l; 39 hght[rk[i]]=l; 40 l-=(l>0); 41 } 42 } View Code

?莫比烏斯函數:

1 int prm[51000],ptt=0; 2 bool flg[51000]; 3 int miu[51000]; 4 void slct(){ 5 memset(flg,0,sizeof(flg)); 6 miu[1]=1; 7 for(int i=2;i<=50000;++i){ 8 if(!flg[i]) prm[++ptt]=i,miu[i]=-1; 9 for(int j=1;prm[j]*i<=50000;++j){ 10 flg[prm[j]*i]=true; 11 if(!(i%prm[j])){ miu[i*prm[j]]=0; break;} 12 miu[prm[j]*i]=-miu[i]; 13 } 14 } 15 } View Code

?FFT求高精度乘:

1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 const int nn=310000; 8 struct cp{ 9 double r,i; 10 cp(double _r=0,double _i=0): r(_r),i(_i){} 11 cp operator+(cp x){return cp(r+x.r,i+x.i);} 12 cp operator-(cp x){return cp(r-x.r,i-x.i);} 13 cp operator*(cp x){return cp(r*x.r-i*x.i,r*x.i+i*x.r);} 14 }; 15 cp a[nn],b[nn],tmp[nn],_x,_y,c[nn]; 16 char s1[nn],s2[nn]; 17 int ans[nn],a1[nn],a2[nn],dig[nn]; 18 int rvs[nn],N,L; 19 void fft(cp x[],int mk){ 20 for(int i=0;i<N;++i) tmp[i]=x[rvs[i]]; 21 for(int i=0;i<N;++i) x[i]=tmp[i]; 22 for(int i=2;i<=N;i<<=1){ 23 cp wn(cos(2*M_PI/i),mk*sin(2*M_PI/i)); 24 for(int k=0;k<N;k+=i){ 25 cp w(1,0); 26 for(int j=k;j<k+i/2;++j){ 27 _x=x[j]; _y=x[j+i/2]*w; 28 x[j]=_x+_y; x[j+i/2]=_x-_y; 29 w=w*wn; 30 } 31 } 32 } 33 if(mk==-1) for(int i=0;i<N;++i) x[i].r/=N; 34 } 35 int main(){//freopen("ddd.in","r",stdin); 36 scanf("%s%s",&s1,&s2); 37 int l1=strlen(s1),l2=strlen(s2); 38 for(N=1,L=0;N<max(l1,l2);N<<=1,++L); N<<=1,++L; 39 for(int i=0;i<N;++i){ 40 int l=0; 41 for(int j=i;j;j>>=1) dig[l++]=j&1; 42 for(int j=0;j<L;++j) rvs[i]=(rvs[i]<<1)|dig[j]; 43 } 44 for(int i=0;i<l1;++i) a1[l1-i-1]=s1[i]-'0'; 45 for(int i=0;i<l2;++i) a2[l2-i-1]=s2[i]-'0'; 46 for(int i=0;i<N;++i) a[i]=cp(a1[i]); 47 for(int i=0;i<N;++i) b[i]=cp(a2[i]); 48 fft(a,1),fft(b,1); 49 for(int i=0;i<N;++i) c[i]=a[i]*b[i]; 50 fft(c,-1); 51 for(int i=0;i<N;++i) ans[i]=int(c[i].r+0.5); 52 for(int i=0;i<N;++i) ans[i+1]+=ans[i]/10,ans[i]%=10; 53 int l=l1+l2-1; 54 while(ans[l]==0 && l>0) --l; 55 for(int i=l;i>=0;--i) printf("%d",ans[i]); 56 cout<<endl; 57 return 0; 58 } View Code

?馬拉車:

1 for(int i=0;i<n;++i) ss[i<<1]='#',ss[i<<1|1]=s[i]; 2 nn=n<<1; ss[nn]='#'; 3 int mx=0,id=0,ans=0; 4 for(int i=0;i<=nn;++i){ 5 f[i]=(mx>i) ? min(f[2*id-i],mx-i) : 1; 6 while(i>=f[i] && i+f[i]<=nn && ss[i+f[i]]==ss[i-f[i]]) ++f[i]; 7 if(mx<i+f[i]-1) mx=i+f[i]-1,id=i; 8 ans=max(ans,f[i]-(s[i]!='#')); 9 } View Code

?exgcd:

1 int exgcd(int a,int b,int &x,int &y){ 2 if(!b){ x=1,y=0; return a;} 3 int d=exgcd(b,a%b,x,y); 4 int c=x; x=y,y=c-a/b*y; 5 return d; 6 } 7 8 int d=exgcd(a,b,x,y); 9 x=x*c/d,d=b/d; 10 x=(x%d+d)%d; View Code

?更成熟的fft求多項式乘(其實沒啥區別:

1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 int rd(){int z=0,mk=1; char ch=getchar(); 8 while(ch<'0'||ch>'9'){if(ch=='-')mk=-1; ch=getchar();} 9 while(ch>='0'&&ch<='9'){z=(z<<3)+(z<<1)+ch-'0'; ch=getchar();} 10 return z*mk; 11 } 12 void wt(int x,char y){ 13 if(!x){ putchar('0'); return ;} 14 if(x<0) putchar('-'),x=-x; 15 int wtp=0,wtc[32]; 16 while(x) wtc[++wtp]=x%10+'0',x/=10; 17 while(wtp) putchar(wtc[wtp--]); 18 putchar(y); 19 } 20 struct cp{ 21 double r,i; 22 cp(double _r=0,double _i=0): r(_r),i(_i){} 23 cp operator+(cp x){return cp(r+x.r,i+x.i);} 24 cp operator-(cp x){return cp(r-x.r,i-x.i);} 25 cp operator*(cp x){return cp(r*x.r-i*x.i,r*x.i+i*x.r);} 26 }; 27 int n,m; 28 cp a[410000],b[410000],tmp[410000],_x,_y,c[410000]; 29 int rvs[410000],dg[32],N,L; 30 void fft(cp x[],int mk){ 31 for(int i=0;i<N;++i) tmp[i]=x[rvs[i]]; 32 for(int i=0;i<N;++i) x[i]=tmp[i]; 33 for(int i=2;i<=N;i<<=1){ 34 cp wn(cos(2*M_PI/i),mk*sin(2*M_PI/i)); 35 for(int k=0;k<N;k+=i){ 36 cp w(1,0); 37 for(int j=k;j<k+(i>>1);++j){ 38 _x=x[j],_y=x[j+(i>>1)]*w; 39 x[j]=_x+_y,x[j+(i>>1)]=_x-_y; 40 w=w*wn; 41 } 42 } 43 } 44 if(mk==-1) for(int i=0;i<N;++i) x[i].r/=N; 45 } 46 int main(){freopen("ddd.in","r",stdin); 47 cin>>n>>m; 48 for(int i=0;i<=n;++i) a[i]=cp(rd()); 49 for(int i=0;i<=m;++i) b[i]=cp(rd()); 50 for(N=1,L=0;N<=max(n+1,m+1);N<<=1,++L); N<<=1,++L; 51 for(int i=0;i<N;++i){ 52 for(int j=i,k=0;j;j>>=1,++k) dg[k]=j&1; 53 for(int j=0;j<L;++j) rvs[i]=(rvs[i]<<1)|dg[j]; 54 } 55 fft(a,1),fft(b,1); 56 for(int i=0;i<N;++i) c[i]=a[i]*b[i]; 57 fft(c,-1); 58 for(int i=0;i<=n+m;++i) printf("%d ",(int)(c[i].r+0.5)); 59 cout<<endl; 60 return 0; 61 } View Code

?ntt求多項式乘:

1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 #define ll long long 8 const ll mo=998244353; 9 ll rd(){ll z=0,mk=1; char ch=getchar(); 10 while(ch<'0'||ch>'9'){if(ch=='-')mk=-1; ch=getchar();} 11 while(ch>='0'&&ch<='9'){z=(z<<3)+(z<<1)+ch-'0'; ch=getchar();} 12 return z*mk; 13 } 14 ll qcp(ll x,int y){ 15 ll bs=x,z=1; 16 for(;y;y>>=1){ 17 if(y&1) z=(z*bs)%mo; 18 bs=(bs*bs)%mo; 19 } 20 return z; 21 } 22 int n,m; 23 ll a[410000],b[410000],tmp[410000],_x,_y,c[410000]; 24 int rvs[410000],dg[32],N,L; ll _1_N; 25 void ntt(ll x[],int mk){ 26 for(int i=0;i<N;++i)if(i<rvs[i]) swap(x[i],x[rvs[i]]); 27 for(int i=2;i<=N;i<<=1){ 28 ll wn=qcp(3,(mk*((mo-1)/i))%(mo-1)); 29 for(int k=0;k<N;k+=i){ 30 ll w=1; 31 for(int j=k;j<k+(i>>1);++j){ 32 _x=x[j],_y=(x[j+(i>>1)]*w)%mo; 33 x[j]=(_x+_y)%mo,x[j+(i>>1)]=(_x-_y+mo)%mo; 34 w=(w*wn)%mo; 35 } 36 } 37 } 38 if(mk==mo-2) for(int i=0;i<N;++i) x[i]=(x[i]*_1_N)%mo; 39 } 40 int main(){//freopen("ddd.in","r",stdin); 41 cin>>n>>m; 42 for(int i=0;i<n;++i) a[i]=rd(); 43 for(int i=0;i<m;++i) b[i]=rd(); 44 for(N=1,L=0;N<=max(n,m);N<<=1,++L); N<<=1,++L; 45 _1_N=qcp(N,mo-2); 46 for(int i=0;i<N;++i){ 47 for(int j=i,k=0;j;j>>=1,++k) dg[k]=j&1; 48 for(int j=0;j<L;++j) rvs[i]=(rvs[i]<<1)|dg[j]; 49 } 50 ntt(a,1),ntt(b,1); 51 for(int i=0;i<N;++i) c[i]=a[i]*b[i]; 52 ntt(c,mo-2); 53 for(int i=0;i<=n+m-2;++i) printf("%lld ",c[i]); 54 cout<<endl; 55 return 0; 56 } View Code

?中國剩余定理:

1 ll M=m[1],A=a[1],k,y; 2 for(int i=2;i<=n;++i){ 3 ll tmp=a[i]-A,d; 4 d=exgcd(M,m[i],k,y); 5 if(tmp%d) return -1; 6 ll tm=m[i]/d; 7 k=(k*tmp/d%tm+tm)%tm,A+=k*M,M=M*m[i]/d,A=(A+M)%M; 8 } 9 return A; View Code

?

轉載于:https://www.cnblogs.com/JSL2018/p/6043644.html

總結

以上是生活随笔為你收集整理的模板重搭建計劃的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩视频一区二区 | 日韩成人免费在线观看 | 成人av电影在线观看 | 丁香午夜婷婷 | 最新一区二区三区 | 99久久99视频 | 精品国产aⅴ麻豆 | 波多野结衣电影一区二区 | 在线精品播放 | 久久久久久久久久久高潮一区二区 | 福利视频在线看 | 日韩欧美在线不卡 | 麻豆一二 | 成人午夜免费剧场 | 91免费观看网站 | 91亚洲精品视频 | 欧美日高清视频 | 五月色婷 | 91成人精品观看 | 国产一级久久久 | 国产精品免费久久久久久久久久中文 | 人成午夜视频 | 久久精美视频 | 日韩精品一区二区三区免费视频观看 | 国产玖玖精品视频 | 精品国产一区二区在线 | 玖玖在线资源 | 激情综合色图 | 91亚洲精品久久久蜜桃 | 国产成人在线精品 | 日韩欧美在线中文字幕 | 婷婷电影在线观看 | 国产精品青青 | 日韩资源在线观看 | 91在线入口 | 日本中文字幕免费观看 | 亚洲欧美日韩不卡 | 九九九九精品九九九九 | 特级西西人体444是什么意思 | 国产精品国产自产拍高清av | 中文字幕婷婷 | 国产韩国日本高清视频 | 中文字幕日韩精品有码视频 | 久久区二区 | av福利在线导航 | 久久免费视频在线观看 | 成人av地址 | 手机在线看a | 插插插色综合 | 国产精品电影在线 | 国产精品久久久久久久久久免费 | 国产色秀视频 | 欧美高清视频不卡网 | 国产 日韩 在线 亚洲 字幕 中文 | 91欧美国产| 天天操天天干天天干 | 国产99久久久精品 | 久草视频精品 | 婷婷五情天综123 | 九九涩涩av台湾日本热热 | 久久久久色 | 高清一区二区 | 99热最新| 五月激情在线 | 美女网站视频久久 | 午夜黄网 | 国产精品视频免费观看 | 欧美另类xxxxx | 欧美a在线看| 97电影网站 | 亚洲精品乱码久久久久久蜜桃动漫 | 欧美激情精品久久久久久免费 | 一级成人在线 | 国产码电影 | 五月花婷婷 | 亚洲最大成人网4388xx | 天天干天天草 | 成人av在线直播 | 国产偷国产偷亚洲清高 | 玖玖在线观看视频 | 久久综合九色九九 | 国产在线观看,日本 | 欧美一级久久 | 在线免费观看视频 | 国产老熟 | 91在线免费公开视频 | 99久久爱| 久久久在线视频 | 狠狠狠色丁香婷婷综合久久五月 | 国产午夜av | 久久久精选 | 91久久国产自产拍夜夜嗨 | 欧美伊人网 | 成人小视频免费在线观看 | 一区国产精品 | av片中文字幕 | 97香蕉超级碰碰久久免费软件 | 国产日本在线 | 在线观看国产高清视频 | 波多野结衣电影一区二区三区 | 精品999| 午夜av片| 欧美91精品国产自产 | 国产在线不卡一区 | 九九热精品国产 | 欧美另类一二三四区 | av亚洲产国偷v产偷v自拍小说 | 久久免费国产 | 天天操天天操天天操天天 | 亚洲国产丝袜在线观看 | 久久成人免费 | 国产伦理一区二区三区 | 国产精品第 | 久久高清免费视频 | 美女av免费看 | 成人福利在线 | 日本中文字幕在线播放 | 亚洲第一av在线 | 日韩精品久久一区二区三区 | 在线亚洲高清视频 | 欧美国产精品一区二区 | 欧美久久久久久久久久 | 久久久国产精品麻豆 | 免费在线观看日韩视频 | 亚洲电影黄色 | 亚洲精品乱码白浆高清久久久久久 | 久久综合久久久 | 人人插人人艹 | 欧美黑人xxxx猛性大交 | 成人av中文字幕在线观看 | 国产精品21区 | 日韩视频精品在线 | 亚洲最新在线视频 | 麻豆传媒一区二区 | 欧美成年网站 | 美女网站视频一区 | 亚洲草视频 | 五月婷视频 | 激情www | 亚洲第一色 | 99久久激情| 亚洲美女视频在线 | 精品在线播放视频 | 成人精品一区二区三区电影免费 | 97天天干| 东方av在线免费观看 | 99精品国产一区二区三区麻豆 | 国产精品久久久久久久久久久久冷 | 久草手机视频 | 久草99| av黄色成人 | 久久夜夜操 | 婷婷激情站 | 中文字幕国产一区二区 | 伊人久久国产精品 | 五月天久久婷 | 91一区二区三区在线观看 | 日本久久免费视频 | 人人干天天射 | 婷婷激情久久 | 婷婷国产一区二区三区 | 国产黄色免费观看 | 91av在线不卡 | 久草电影免费在线观看 | 精品国产不卡 | 久热爱| av在线精品 | 久久免费电影网 | 在线视频免费观看 | 日本三级香港三级人妇99 | 超碰成人免费电影 | 91高清免费 | 99精品欧美一区二区三区黑人哦 | 欧美日韩视频在线观看一区二区 | 在线视频 亚洲 | 久久久久久久久亚洲精品 | 97在线视频免费播放 | 成人一区二区在线观看 | 亚洲在线资源 | 欧美日韩国产伦理 | 在线观看免费一级片 | 日韩.com | 久久激情视频 久久 | 日韩网站一区二区 | 在线看国产日韩 | 四虎欧美 | www夜夜操com | 久久久久国产精品免费免费搜索 | 日韩在观看线 | 成人亚洲网 | 日韩欧美一区二区在线观看 | 免费视频a | 日本高清中文字幕有码在线 | 久久伦理 | 精品国产99 | 国产又粗又猛又色又黄网站 | 美女福利视频一区二区 | 91九色网址 | 日批视频在线观看免费 | 国产日韩av在线 | 国产黄色成人av | 久久天天躁 | 国产精品门事件 | 精品国产一区二区三区久久 | 国产成人一区二区三区在线观看 | 久久国产精品99久久久久 | 免费在线一区二区 | 日韩av高清在线观看 | 日日爽视频 | 欧美在线视频一区二区三区 | 日韩啪视频 | 国产91在线播放 | 四虎8848免费高清在线观看 | 日韩国产精品久久久久久亚洲 | 99色| 欧美视频日韩 | 午夜精品av| 成人免费观看av | 亚洲伊人av | 成人小视频在线 | 91麻豆精品国产91久久久久久 | 最新成人av | 国产永久免费观看 | 亚洲女欲精品久久久久久久18 | 狠狠操在线 | 免费日韩三级 | 91麻豆精品久久久久久 | 国产一区电影在线观看 | 在线视频电影 | 免费在线观看日韩欧美 | 国产色婷婷精品综合在线手机播放 | 一区二区三区免费网站 | 久久精品伊人 | 99r在线 | 一区二区不卡视频在线观看 | 视频在线观看亚洲 | 在线看片一区 | 97爱爱爱| 久久久激情视频 | 天堂网一区 | 国产一区欧美日韩 | 亚洲国产欧美一区二区三区丁香婷 | 992tv在线观看网站 | 久久成人在线 | 97国产| 狠狠躁18三区二区一区ai明星 | 欧美国产精品一区二区 | 国产精品白浆视频 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 成人动漫视频在线 | 日韩在线短视频 | 色www. | 日韩剧情 | 黄色1级大片 | 国精产品永久999 | 91精品国产乱码在线观看 | 少妇bbw搡bbbb搡bbbb | 久久av在线 | 国产精品理论片在线观看 | www色,com | 久久免费电影网 | 最近字幕在线观看第一季 | 久草在线视频网站 | 日韩视频一区二区三区在线播放免费观看 | 成人在线视频在线观看 | 天堂视频一区 | 亚洲自拍偷拍色图 | 夜添久久精品亚洲国产精品 | 伊人婷婷在线 | 成人免费在线播放 | 国产打女人屁股调教97 | av高清在线观看 | 欧美色插 | 欧洲精品亚洲精品 | 91传媒免费观看 | 久草免费资源 | 中文字幕免费观看视频 | 播五月婷婷 | 亚洲精品视频大全 | 夜夜高潮夜夜爽国产伦精品 | 激情久久网 | 久久国产视频网站 | 国产高清成人 | 婷婷性综合 | 一区二区 不卡 | 操少妇视频 | 亚洲国产影院av久久久久 | 日韩欧美一区二区不卡 | 久操视频在线免费看 | 在线视频免费观看 | 免费又黄又爽 | 国产一级片免费观看 | 亚洲精品美女在线观看播放 | 国产成a人亚洲精v品在线观看 | 亚洲精品国偷拍自产在线观看 | 精品在线一区二区 | 狠狠躁日日躁夜夜躁av | 久久综合之合合综合久久 | 91成人精品 | 91完整版观看 | 最新午夜电影 | 国产成人精品一区在线 | 国产成人久久av | 日韩精品亚洲专区在线观看 | 91丨精品丨蝌蚪丨白丝jk | 亚洲国产精品va在线看黑人 | 男女拍拍免费视频 | 中文字幕日韩电影 | 色a资源在线 | 国产在线观看一 | 久久精品这里都是精品 | 综合久久精品 | 中国一区二区视频 | 国产精品9区 | 超碰国产在线播放 | 欧美性免费 | 色www精品视频在线观看 | 久久超碰免费 | av+在线播放在线播放 | 成年人在线观看视频免费 | 97成人免费视频 | 中文国产在线观看 | 97精品超碰一区二区三区 | 欧美日韩综合在线观看 | 国产精品免费一区二区 | a级国产乱理论片在线观看 特级毛片在线观看 | 97精品国产97久久久久久免费 | 成人av高清 | 亚洲一区日韩在线 | 最近中文字幕完整视频高清1 | 在线国产精品视频 | 日本亚洲国产 | 福利视频网址 | 999抗病毒口服液 | 亚洲精品天天 | 欧美精品久久人人躁人人爽 | 摸bbb搡bbb搡bbbb | 国内精品视频在线播放 | 中文字幕免费中文 | 在线黄色国产电影 | 人人插人人艹 | 麻豆成人网 | 国产手机在线观看 | 日韩免费av片 | 99精品视频网站 | 久久久久一区二区三区四区 | 天天干天天在线 | 欧美一区二区三区不卡 | 午夜久久成人 | 在线看日韩 | 热久久99这里有精品 | 2018好看的中文在线观看 | 亚洲精品视频网站在线观看 | 在线观看免费国产小视频 | 久久久综合色 | 91完整版观看| 欧美色噜噜噜 | 国产98色在线 | 日韩 | 精品免费观看视频 | 日韩精品视频第一页 | 国产麻豆视频在线观看 | 一区二区三区 中文字幕 | 亚洲视频 在线观看 | 久草电影免费在线观看 | 欧美日韩成人 | 黄色在线看网站 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产无套精品久久久久久 | 日韩18p| 黄色录像av| 在线观看911视频 | 日韩在线高清 | 国产亚洲精品久久久久久移动网络 | 免费视频黄色 | 国产精品96久久久久久吹潮 | 亚洲欧洲一区二区在线观看 | 国产性天天综合网 | 在线日韩精品视频 | 国产黄色成人av | 日韩视频www| 国内丰满少妇猛烈精品播 | 亚洲 欧美 另类人妖 | 国产精品初高中精品久久 | 激情综合久久 | 日本激情视频中文字幕 | 日韩在线播放视频 | 日韩精品一区二区免费视频 | 色91av| 中中文字幕av在线 | 欧美久久久久久久久中文字幕 | 激情综合网天天干 | 奇米网网址| 日韩啪啪小视频 | 久久精品一区二 | 五月天中文字幕mv在线 | 色狠狠操| 久久免费毛片 | 深爱激情婷婷网 | 国产精品一区二区免费看 | 超级碰99| 亚洲理论片在线观看 | 欧美日韩在线视频观看 | 在线观看小视频 | 日韩亚洲国产中文字幕 | 在线观看完整版 | 免费在线观看午夜视频 | 夜夜澡人模人人添人人看 | 伊人六月 | 亚洲欧洲一区二区在线观看 | 亚洲成人xxx | 免费福利小视频 | 超碰在线最新网址 | 激情五月在线观看 | 国产精品成人一区二区 | 在线观看视频日韩 | 97香蕉超级碰碰久久免费软件 | 久久婷婷视频 | 色综合久久久久综合 | 91精品办公室少妇高潮对白 | 中文字幕亚洲欧美日韩2019 | www.成人sex | 99视频在线精品 | 国产精品久久久av久久久 | 国产亚洲日 | 国产麻豆视频网站 | 波多野结衣视频一区二区三区 | 毛片随便看 | 97在线精品| 精品久久久久_ | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲成人黄色av | 天堂成人在线 | 亚洲精品黄| 亚洲成人欧美 | 在线日韩精品视频 | 二区精品视频 | av一级一片 | 美女黄色网在线播放 | 黄色影院在线观看 | 五月激情亚洲 | 人人插超碰 | 天天操福利视频 | 久久免费视频网 | 在线视频一二三 | 国产精品免费小视频 | 国产精品久久精品国产 | 亚洲激情中文 | 国产不卡免费 | 五月激情av | 四虎永久视频 | 国产精品女同一区二区三区久久夜 | 欧美日韩国产亚洲乱码字幕 | 亚洲精品综合在线观看 | 国产精品免费观看在线 | 字幕网av | 日韩欧美大片免费观看 | 这里只有精品视频在线观看 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 欧美精品久久久久久久久久白贞 | 又长又大又黑又粗欧美 | 亚洲精品美女久久久 | 亚洲精品美女久久17c | 五月婷婷中文字幕 | 日韩午夜大片 | 免费日韩 | 日韩系列在线观看 | 久久午夜电影 | 999国产在线| 日韩激情中文字幕 | 五月天综合 | 91九色porny在线| 婷婷丁香六月 | 久久久久 免费视频 | 99久久婷婷 | 蜜臀aⅴ国产精品久久久国产 | 五月婷影院 | 国产喷水在线 | 国产精品大片在线观看 | 国产精品二区在线 | 五月天视频网站 | 精品国产一区二区三区四区在线观看 | 成人国产精品入口 | 免费日韩一区二区 | 91网页版在线观看 | 一区 二区 精品 | 激情久久婷婷 | 高清免费在线视频 | 日韩一级网站 | 狠狠狠狠狠狠干 | 五月天丁香 | 久久成人亚洲欧美电影 | 波多野结衣视频一区二区三区 | 亚洲四虎在线 | 国精产品一二三线999 | 久久久精品网站 | 日本三级吹潮在线 | 日韩电影中文,亚洲精品乱码 | 日韩一二三 | www日日 | 在线看片一区 | 国产精品乱码久久 | 免费高清男女打扑克视频 | 久久99亚洲精品久久 | 日韩欧美一区二区三区免费观看 | 亚洲日本一区二区在线 | 婷婷爱五月天 | 麻豆视频www | 中国精品一区二区 | 在线网站黄 | 91精品中文字幕 | 亚洲 欧洲 国产 日本 综合 | 日韩免费看 | 免费av观看网站 | 99精品国产在热久久下载 | 精品欧美在线视频 | 欧美一区二区免费在线观看 | 国产精品视频观看 | 成人精品视频 | 五月天六月丁香 | 久久99久国产精品黄毛片入口 | 国产免费又粗又猛又爽 | 国产精品久久99综合免费观看尤物 | 日本中文字幕系列 | 精品一区精品二区 | 黄色av电影在线观看 | 亚洲 欧美 国产 va在线影院 | www.777奇米 | 亚洲国产一二三 | 亚洲高清激情 | 午夜久久久久久久久 | 蜜臀av夜夜澡人人爽人人桃色 | 国产免费xvideos视频入口 | 亚洲精品理论 | 成人97人人超碰人人99 | 午夜精品导航 | av在线免费在线 | 亚洲视频在线播放 | 国产精品永久在线观看 | 久热只有精品 | 激情av资源网 | 91丨九色丨高潮丰满 | 在线观看v片 | 美女视频黄色免费 | 亚洲精品乱码久久久久久蜜桃动漫 | 天天操夜操视频 | 操操日 | 日日夜夜精品网站 | 亚洲精品五月天 | 成人9ⅰ免费影视网站 | 在线观看aa | 超碰在线日本 | 日本在线中文在线 | 伊人婷婷激情 | 久久综合电影 | 99 久久久久| 中文在线亚洲 | av手机在线播放 | 国产一区福利 | 国内揄拍国内精品 | 综合色在线 | 日韩av看片 | 久久草草影视免费网 | 欧美日韩国产一区二 | 91豆花在线观看 | 国产高清综合 | 麻豆传媒在线免费看 | 在线国产精品视频 | 四虎4hu永久免费 | 精品91在线 | 午夜精品视频福利 | 亚洲综合干 | 黄污网 | 国产精品免费久久久久久久久久中文 | 亚洲精品网站在线 | 操高跟美女 | 久久经典视频 | 天天操天天曰 | 中文字幕美女免费在线 | 91最新在线视频 | 成+人+色综合 | 久久免费美女视频 | av大全免费在线观看 | 国产精品99久久久久久久久 | 在线观看日韩免费视频 | 久青草视频 | 国产精品久久视频 | 成人一级黄色片 | 亚洲综合成人婷婷小说 | 美女免费视频黄 | 久九视频| av高清一区二区三区 | 亚洲成人在线免费 | 亚洲国产成人在线观看 | 国产精品视频大全 | 中文字幕精品一区二区精品 | av高清一区二区三区 | 黄色一级免费网站 | www.天天干 | 国产特黄色片 | 一区二区激情视频 | 国产视频一区在线免费观看 | 99久久www| 美女露久久 | 免费日韩电影 | 毛片精品免费在线观看 | 国产伦理久久精品久久久久_ | 久久福利在线 | 久久久久福利视频 | 又黄又刺激视频 | 中文字幕日韩免费视频 | 免费福利在线观看 | 在线电影av | 国产69精品久久app免费版 | 97香蕉久久国产在线观看 | 日本不卡123区 | 五月婷婷开心中文字幕 | 国产91影院 | 四月婷婷在线观看 | 欧美精品一区二区蜜臀亚洲 | 久久精品99久久久久久 | 免费观看一级一片 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品视频久久久 | 久草电影网 | 国产91av视频在线观看 | 欧美精品天堂 | 免费三级在线 | 中文字幕在线视频网站 | 国产超碰97| 99视频在线免费播放 | 午夜精品一区二区三区视频免费看 | 亚洲欧美视频在线播放 | 久久久www成人免费精品 | www.久久色 | 99久久激情视频 | 黄色毛片一级 | 黄色大全免费网站 | 欧美日韩在线视频一区二区 | 视频91在线 | 四虎影视精品成人 | 天天干天天射天天插 | 日韩精品一区二区三区外面 | 日韩中文字幕在线不卡 | 亚洲精品乱码久久 | 欧美精品久久久久久久久免 | 日韩中文字幕免费看 | www久久精品 | 中文字幕一区二区三区在线视频 | 91香蕉久久| 国产 字幕 制服 中文 在线 | 免费在线观看av片 | 亚洲美女在线国产 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 99自拍视频在线观看 | 国产在线观看免费观看 | 国内外成人在线视频 | 欧美精品在线视频 | 国产天天综合 | 午夜精品久久久久久久久久久 | 国产日本在线观看 | 欧美日韩18| 91完整视频 | 久久综合九色综合欧美狠狠 | 亚洲精品人人 | 国产91全国探花系列在线播放 | 五月婷丁香网 | 性色av一区二区 | 色五月色开心色婷婷色丁香 | 国产一及片 | 97成人精品视频在线观看 | 美女久久久久久久久久 | av一级网站 | 中文字幕欧美日韩va免费视频 | 天天操天天操天天干 | 91亚洲精品久久久蜜桃借种 | 99热手机在线观看 | 亚洲精品视频观看 | 欧美日韩高清 | 精品爱爱| 狠狠色丁香婷婷综合视频 | 久久久国产日韩 | 一区二区三区视频网站 | 久草在线手机观看 | 欧美精品免费在线 | 国模吧一区 | 狠狠网亚洲精品 | 91精品一区二区三区久久久久久 | 中文在线免费观看 | 99视频在线观看免费 | 欧美成人播放 | 国产一区在线视频播放 | 国产成人精品一区一区一区 | 国模一区二区三区四区 | 伊人色播 | 缴情综合网五月天 | 国产在线观看,日本 | 天天射天天拍 | 又色又爽的网站 | 在线免费观看的av | 久久中文字幕在线视频 | 精品你懂的 | 激情五月网站 | 久久一二三四 | 久久免费毛片视频 | 日韩一二三在线 | 婷婷色网视频在线播放 | 黄色小视频在线观看免费 | 欧美韩国在线 | 91在线观看黄 | 99久久精品国产一区二区成人 | 韩国在线视频一区 | 在线视频久久 | 成人a级网站| 五月激情姐姐 | 国产高清一级 | 欧美一级艳片视频免费观看 | 国产裸体bbb视频 | 色99导航 | 国产色拍拍拍拍在线精品 | 中文字幕久久精品一区 | 久草在线综合 | 麻豆91网站 | 免费福利在线 | 黄色软件在线观看视频 | 91精品视频免费观看 | 一级免费黄色 | 91麻豆文化传媒在线观看 | 欧美不卡视频在线 | 久久伦理 | 天天曰天天曰 | 99久高清在线观看视频99精品热在线观看视频 | 精品欧美小视频在线观看 | 香蕉在线播放 | 国产精品99久久久久久久久久久久 | 黄色av三级在线 | 久久久精品电影 | 夜色资源站国产www在线视频 | 日韩精品在线看 | 狠狠狠综合 | 日韩av中文字幕在线 | 日韩在线国产精品 | 免费成人短视频 | 国产精品成人a免费观看 | 国产精品色婷婷视频 | 亚洲a色 | 在线观看中文字幕2021 | 国产91影视 | 在线观看亚洲精品视频 | 午夜黄网 | 狠狠干天天射 | 特黄一级毛片 | 夜又临在线观看 | 国产69久久久欧美一级 | 九九热在线视频免费观看 | 91精品久久久久久综合乱菊 | 在线免费高清一区二区三区 | 欧美日韩亚洲在线观看 | 在线а√天堂中文官网 | 日韩精品视频在线观看网址 | 日韩在线视频线视频免费网站 | 国产视频精品久久 | 视频一区久久 | 97成人在线视频 | 伊人狠狠| 日韩在线视频不卡 | 日韩经典一区二区三区 | 热久久免费视频精品 | 久久久久久久电影 | 欧美一级爽 | 97日日碰人人模人人澡分享吧 | 夜夜夜夜夜夜操 | 在线观看视频国产一区 | 91在线精品播放 | 国产精品婷婷午夜在线观看 | av中文字幕不卡 | 国产美女永久免费 | 97人人模人人爽人人喊网 | 国产成人精品一区二区在线 | 在线高清| 国产亚洲精品久久久久久无几年桃 | 亚洲午夜大片 | 久久69精品 | 一二区电影| 99久久精| 激情五月亚洲 | 国际精品久久久久 | 探花视频在线观看 | 国产黄色免费在线观看 | 超碰在线免费97 | 久色免费视频 | 亚洲欧美视频在线播放 | 五月天久久婷婷 | 日韩精品免费一区二区在线观看 | 精品国产乱码一区二 | 五月婷婷综 | 97在线成人 | 成人午夜精品久久久久久久3d | 婷婷伊人综合 | 天天干天天操 | 91精品视频免费看 | 91麻豆高清视频 | 西西444www大胆高清视频 | 91成人免费在线视频 | 国产亚洲va综合人人澡精品 | 岛国大片免费视频 | 欧美最猛性xxx | 精品久久国产精品 | 久久艹综合| 国产精品手机播放 | 欧美精品午夜 | 日韩一区二区三区视频在线 | 99精品视频免费看 | 亚洲综合视频在线观看 | 天天干天天操av | 久久久久精 | 国产午夜精品一区二区三区欧美 | 色婷婷综合久久久 | 日日操夜 | 天天视频亚洲 | www.伊人网 | 国产美女无遮挡永久免费 | 国产男女无遮挡猛进猛出在线观看 | 中文字幕韩在线第一页 | 伊人网综合在线观看 | 蜜臀av.com | 国产精品成人一区二区三区吃奶 | 日韩免费观看高清 | 成人午夜久久 | 精品播放 | 97在线免费视频 | 二区三区毛片 | 97在线观看 | 国产在线美女 | 黄色大全免费网站 | 成年人精品 | 国产色在线视频 | 一区二区三区视频在线 | 99久久99久久精品国产片 | 国产精品久久久久aaaa | 亚洲aⅴ在线观看 | 久久国产精品99久久久久久老狼 | 九九国产精品视频 | 成人国产精品久久久春色 | 久久久久久亚洲精品 | 欧美日韩国产区 | 人人爽久久涩噜噜噜网站 | 日韩精品一区二区免费视频 | 免费成人av在线 | 色香蕉在线| 欧美日韩精品影院 | 欧美-第1页-屁屁影院 | 亚洲日本中文字幕在线观看 | 国产午夜三级一区二区三桃花影视 | 99久久精品国产网站 | 精品视频久久 | 亚洲精品一区二区三区在线观看 | 黄色av免费电影 | 人人爽人人爽人人爽人人爽 | 亚洲国产精品小视频 | 干 操 插| 国产91精品在线观看 | 日本中文字幕在线电影 | 久草| 人人狠狠综合久久亚洲婷 | 天天夜夜亚洲 | 国产 日韩 在线 亚洲 字幕 中文 | 国产二区电影 | 五月亚洲综合 | 亚洲国产精品成人va在线观看 | 久久综合婷婷国产二区高清 | 久草观看 | 久久精品超碰 | 精品一区二区在线播放 | 日韩精品1区2区 | 狠狠操在线 | 欧美一区二区三区免费看 | www.色午夜,com| 天天射天天干天天插 | 91精品啪啪 | 国产精彩视频一区二区 | 国产成人一区二区啪在线观看 | 国产乱码精品一区二区三区介绍 | 国产中文字幕一区 | 国产69精品久久99不卡的观看体验 | 肉色欧美久久久久久久免费看 | 亚洲视频在线看 | 又粗又长又大又爽又黄少妇毛片 | 六月丁香六月婷婷 | 国产精品入口66mio女同 | 国产精品久久久久久久久久久久午 | 国产精品一区免费在线观看 | 亚洲综合在线五月天 | 岛国av在线免费 | 九九视频这里只有精品 | 国产成人黄色在线 | 精品嫩模福利一区二区蜜臀 | 日韩精品中文字幕久久臀 | 国语黄色片 | 天天色天天射天天干 | 91最新地址永久入口 | 中文字幕一区二区三区四区在线视频 | 三级av中文字幕 | 国产精品免费一区二区三区在线观看 | 在线免费观看视频你懂的 | 国内精品二区 | 午夜视频在线网站 | 五月天激情视频 | 成人免费视频网站在线观看 | 久久久午夜剧场 | 国产精品免费麻豆入口 | 免费中文字幕在线观看 | 免费av片在线 | 天天操天天干天天 | 在线免费高清一区二区三区 | 黄色精品在线看 | 成年美女黄网站色大片免费看 | 亚洲年轻女教师毛茸茸 | 日日夜夜精品免费 | 免费观看成人网 | 久久精品久久精品久久精品 | 久久亚洲视频 | 亚洲深夜影院 | 亚洲国产精品成人综合 | 日韩特黄一级欧美毛片特黄 | 久久国产精品免费视频 | 国产原创中文在线 | 亚洲四虎在线 | 亚洲精品国产第一综合99久久 | 操操爽| 国产中文字幕免费 | 国产麻豆精品一区二区 | 毛片无卡免费无播放器 | 国产永久网站 | 欧美日韩中文在线视频 | 久久久99精品免费观看乱色 | 国产一区二区在线免费视频 | 亚洲精品小区久久久久久 | 免费成人短视频 | 手机看片福利 | 精品久久一 | 国产成人三级一区二区在线观看一 | av在线播放亚洲 | 久草在线视频免赞 | 免费一级特黄毛大片 | 涩五月婷婷 | 五月婷婷影视 | 欧美一区二区三区在线看 | 成人av av在线 | 黄色毛片一级 | 国产精品手机播放 | 亚洲成人欧美 | 欧美性生交大片免网 | 五月婷婷六月丁香 | 天天干天天操天天拍 | 中文不卡视频 | 又黄又爽又无遮挡的视频 | 九九激情视频 | 97成人在线视频 | 色.www| 日韩激情视频在线 | 91色视频 | 99九九热只有国产精品 | 最新av免费 | 国产中文字幕视频在线观看 | 欧美99久久| 美女网站视频免费都是黄 | 免费在线精品视频 | 在线成人av | 日韩美一区二区三区 | 亚洲国产成人av网 | 中文字幕在线观看免费高清电影 | 成人免费视频播放 | 国产高清在线观看 | 亚洲经典精品 | 亚洲在线观看av | 91九色丨porny丨丰满6 | 国产一区久久 | 在线观看视频99 | 久久免费片 | 日本久久中文字幕 | 国产精品永久在线 | 中文字幕av在线 | 国产精品大片免费观看 | 丁香5月婷婷 | 日韩欧美精品一区二区 | 免费视频一级片 | 亚洲精品视频中文字幕 | 999视频在线播放 | 国产精品不卡一区 | 国产无遮挡又黄又爽在线观看 | 欧美日韩网址 | 又黄又爽又湿又无遮挡的在线视频 | 国产精品视频最多的网站 | 久久香蕉国产精品麻豆粉嫩av | 懂色av一区二区三区蜜臀 | 久久在线精品 | 一级欧美黄| 国产人成在线视频 |