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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

北京集训:20180310

發(fā)布時(shí)間:2023/12/10 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 北京集训:20180310 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

北京集訓(xùn)的第一天,我完美爆零......
這其中的經(jīng)歷,十分有趣呢。

T1:

這題一看就是先猜一個(gè)性質(zhì)然后利用他去求解。
如果我們知道怎么插入,怎么判定的話,可以線段樹分治的說。
然后我猜了一個(gè)結(jié)論:如果穩(wěn)定,則一定有一個(gè)x的四聯(lián)通塊能同時(shí)通向上下左右邊界。
乍一看是對(duì)的,實(shí)際上這個(gè)東西充分,但不必要。
考慮3*3的網(wǎng)格圖,我們?nèi)旧笙陆侨齻€(gè)點(diǎn),再染色右上角三個(gè)點(diǎn),結(jié)果應(yīng)該是穩(wěn)定的。
然后這個(gè)算法就錯(cuò)了。
問題是由于我太菜了,故考場上并沒有想到這個(gè)反例......
正解的確是線段樹分治,然而他是用角度推的。
考慮對(duì)于一個(gè)四邊形的四個(gè)定點(diǎn),每個(gè)點(diǎn)在左上角的那個(gè)角,顯然對(duì)角線的角和相同。
而如果一個(gè)格子為x,則他右下角和左上角的角度均為90度,相當(dāng)于讓另外兩個(gè)角必須滿足某些條件。
而如果這個(gè)條件讓整個(gè)圖都被限制的話,顯然就固定了。
現(xiàn)在我們可以做什么?O(nmq)暴力。
然而正解要更加優(yōu)美:
顯然我們可以用第一行的所有角度和第一列的所有角度算出所有角,所以限制就相當(dāng)于是行列連邊。
經(jīng)典的二分圖模型啦。
然后用可回退并查集維護(hù)是否左右行列都在一個(gè)聯(lián)通塊里就好了QwQ。
考場爆零代碼:

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<vector> 6 #define debug cout 7 using namespace std; 8 const int maxn=9e6+1e2,maxl=3e3+1e2,maxq=1e5+1e2; 9 const int dx[]={1,-1,0,0},dy[]={0,0,1,-1}; 10 11 char in[maxl][maxl],now[maxl][maxl]; 12 int tim[maxl][maxl],ans[maxq]; 13 int l[maxq<<3],r[maxq<<3],lson[maxq<<3],rson[maxq<<3],cnt; 14 int fa[maxn],siz[maxn],sta[maxn]; 15 int n,m,q; 16 int pp; 17 18 struct ONode { 19 int x,y; 20 }; 21 vector<ONode> ns[maxq<<3]; 22 23 struct MemNode { 24 int *dst,val; 25 MemNode() {} 26 MemNode(int &x) { dst = &x , val = x; } 27 inline void res() { 28 *dst = val; 29 } 30 }stk[maxn]; 31 int top; 32 33 inline int findfa(int x) { 34 return fa[x] == x ? x : findfa(fa[x]); 35 } 36 inline bool merge(int x,int y) { 37 x = findfa(x) , y = findfa(y); 38 if( x == y ) return 0; 39 if( siz[x] < siz[y] ) swap(x,y); 40 if( pp != 1 ) stk[++top] = MemNode(siz[x]) , stk[++top] = MemNode(fa[y]) , stk[++top] = MemNode(sta[x]); 41 fa[y] = x , siz[x] += siz[y] , sta[x] |= sta[y]; 42 return sta[x] == 15; 43 } 44 45 inline void reset(int ltop) { 46 while( top > ltop ) stk[top].res() , --top; 47 } 48 inline int cov(int x,int y) { 49 return m * --x + y; 50 } 51 inline int operat(int x,int y) { 52 int ret = 0; 53 now[x][y] = 'x'; 54 ret |= ( sta[findfa(cov(x,y))] == 15 ); 55 for(int i=0;i<4;i++) { 56 const int tx = x + dx[i] , ty = y + dy[i]; 57 if( 0 < tx && tx <= n && 0 < ty && ty <= m && now[tx][ty] == 'x' ) ret |= merge(cov(x,y),cov(tx,ty)); 58 } 59 return ret; 60 } 61 62 inline void build(int pos,int ll,int rr) { 63 l[pos] = ll , r[pos] = rr; 64 if( ll == rr ) return; 65 const int mid = ( ll + rr ) >> 1; 66 build(lson[pos]=++cnt,ll,mid) , build(rson[pos]=++cnt,mid+1,rr); 67 } 68 inline void insert(int pos,int ll,int rr,const ONode &o) { 69 if( ll <= l[pos] && r[pos] <= rr ) { 70 ns[pos].push_back(o); 71 return; 72 } const int mid = ( l[pos] + r[pos] ) >> 1; 73 if( rr <= mid ) insert(lson[pos],ll,rr,o); 74 else if( ll > mid ) insert(rson[pos],ll,rr,o); 75 else insert(lson[pos],ll,rr,o) , insert(rson[pos],ll,rr,o); 76 } 77 inline void dfs(int pos,int stable) { 78 pp = pos; 79 const int memtop = top; 80 for(unsigned i=0;i<ns[pos].size();i++) stable |= operat(ns[pos][i].x,ns[pos][i].y); 81 if( l[pos] == r[pos] ) { 82 ans[l[pos]] = stable; 83 } 84 else dfs(lson[pos],stable) , dfs(rson[pos],stable); 85 if( pos != 1 ) { 86 reset(memtop); 87 for(unsigned i=0;i<ns[pos].size();i++) now[ns[pos][i].x][ns[pos][i].y] = 0; 88 } 89 } 90 91 int main() { 92 static int q; 93 scanf("%d%d%d",&n,&m,&q); 94 for(int i=1;i<=n;i++) { 95 scanf("%s",in[i]+1); 96 for(int j=1;j<=m;j++) if( in[i][j] == 'x' ) tim[i][j] = 1; 97 } 98 build(cnt=1,1,q+1); 99 for(int i=1,x,y;i<=q;i++) { 100 scanf("%d%d",&x,&y); 101 if( tim[x][y] ) { 102 insert(1,tim[x][y],i,(ONode){x,y}) , tim[x][y] = 0; 103 } 104 else tim[x][y] = i+1; 105 } 106 for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if( tim[i][j] ) { 107 insert(1,tim[i][j],q+1,(ONode){i,j}); 108 } 109 for(int i=1;i<=n;i++) 110 for(int j=1;j<=m;j++) { 111 const int c = cov(i,j); 112 fa[c] = c , siz[c] = 1; 113 if( i == 1 ) sta[c] |= 1; 114 if( j == 1 ) sta[c] |= 2; 115 if( i == n ) sta[c] |= 4; 116 if( j == m ) sta[c] |= 8; 117 } 118 dfs(1,0); 119 for(int i=1;i<=q+1;i++) puts(ans[i]?"S":"U"); 120 return 0; 121 } View Code

考后AC代碼:

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<vector> 6 #include<stack> 7 #define debug cout 8 using namespace std; 9 const int maxn=9e6+1e2,maxl=3e3+1e2,maxq=3e5+1e2; 10 11 char in[maxl][maxl]; 12 int tim[maxl][maxl]; 13 int l[maxq<<2],r[maxq<<2],lson[maxq<<2],rson[maxq<<2],cnt; 14 int fa[maxn],siz[maxn]; 15 int ans[maxq]; 16 int n,m; 17 18 struct Node { 19 int x,y; 20 }; 21 vector<Node> ns[maxq<<2]; 22 struct StkNode { 23 int *dst,val; 24 StkNode() {} 25 StkNode(int &x) { dst = &x , val = x; } 26 inline void res() { *dst = val ; } 27 }stk[maxq<<2]; 28 int top; 29 30 inline int findfa(int x) { 31 return fa[x] == x ? x : findfa(fa[x]); 32 } 33 inline void merge(int x,int y,int pos) { 34 x = findfa(x) , y = findfa(y); 35 if( x == y ) return; 36 if( siz[x] < siz[y] ) swap(x,y); 37 if( pos != 1 ) stk[++top] = StkNode(fa[y]) , stk[++top] = StkNode(siz[x]); 38 fa[y] = x , siz[x] += siz[y]; 39 } 40 inline void reset(int last) { 41 while( top > last ) stk[top--].res(); 42 } 43 44 inline void build(int pos,int ll,int rr) { 45 l[pos] = ll , r[pos] = rr; 46 if( ll == rr ) return; 47 const int mid = ( ll + rr ) >> 1; 48 build(lson[pos]=++cnt,ll,mid) , 49 build(rson[pos]=++cnt,mid+1,rr) ; 50 } 51 inline void insert(int pos,int ll,int rr,const Node &o) { 52 if( ll <= l[pos] && r[pos] <= rr ) return ns[pos].push_back(o); 53 const int mid = r[lson[pos]]; 54 if( rr <= mid ) return insert(lson[pos],ll,rr,o); 55 if( ll > mid ) return insert(rson[pos],ll,rr,o); 56 insert(lson[pos],ll,rr,o) , 57 insert(rson[pos],ll,rr,o) ; 58 } 59 inline void dfs(int pos) { 60 const int mtop = top; 61 for(unsigned i=0;i<ns[pos].size();i++) merge(ns[pos][i].x,ns[pos][i].y+n,pos); 62 if( l[pos] == r[pos] ) ans[l[pos]] = ( siz[findfa(1)] == n + m ); 63 else dfs(lson[pos]) , dfs(rson[pos]); 64 if( pos != 1 ) reset(mtop); 65 } 66 67 int main() { 68 static int q; 69 scanf("%d%d%d",&n,&m,&q) , memset(tim,-1,sizeof(tim)); 70 for(int i=1;i<=n;i++) { 71 scanf("%s",in[i]+1); 72 for(int j=1;j<=m;j++) if( in[i][j] == 'x' ) tim[i][j] = 0; 73 } 74 build(cnt=1,0,q); 75 for(int i=1,x,y;i<=q;i++) { 76 scanf("%d%d",&x,&y); 77 if( ~tim[x][y] ) insert(1,tim[x][y],i-1,(Node){x,y}) , tim[x][y] = -1; 78 else tim[x][y] = i; 79 } 80 for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if( ~tim[i][j] ) insert(1,tim[i][j],q,(Node){i,j}); 81 for(int i=1;i<=n+m;i++) fa[i] = i , siz[i] = 1; 82 dfs(1); 83 for(int i=0;i<=q;i++) puts(ans[i]?"S":"U"); 84 return 0; 85 } View Code


T2:


前兩個(gè)測(cè)試點(diǎn)可以大力狀壓哈希bfs(不,大力bfs是過不去第二個(gè)測(cè)試點(diǎn)的)。
然后我們考慮分析一發(fā):
首先我們只有三根柱子(廢話)。
考慮最大的位置不對(duì)的盤子,我們一定要把他從一根柱子移動(dòng)到另一根。
也就是說,我們需要讓他所在的柱子為只有他,他需要到的柱子為空。
其他的盤子呢?必須都移到剩下的一個(gè)柱子上啊。這個(gè)步數(shù)大力計(jì)算一下就好了。
然后我們移動(dòng)了最大的盤子,現(xiàn)在我們有一摞盤子和他們需要的地方。
一個(gè)一個(gè)擺放到位就可以了,反正(大概)只有一種不走重復(fù)步的方案吧。
接著你會(huì)發(fā)現(xiàn)你會(huì)WA,你過不了樣例。
因?yàn)闃永淖顑?yōu)解是把最大的盤子先放到中間。
好,這也是一種策略,我們把第一步的這種方式也考慮進(jìn)去,反正接下來對(duì)一摞盤子的分析一定是對(duì)的。
關(guān)于我為什么爆零?考場上以為1是最大的盤子,然后直接貪心過了樣例,自然也沒有想第二種情況啦......
其實(shí)更正了看錯(cuò)題的問題還是有60分的。
考場爆零代碼:

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<bitset> 6 #include<map> 7 #include<queue> 8 #define lli long long int 9 #define ulli unsigned long long 10 #define debug cout 11 using namespace std; 12 const int maxn=1e6+1e2,mod=998244353; 13 const int base=17; 14 const int maxl=20; 15 16 int n; 17 18 namespace Sol { 19 int st[3][maxn],ed[3][maxn],now[3][maxn],n; 20 lli pows[maxn]; 21 22 inline int findmx(int sou[3][maxn]) { 23 int ret = -1; 24 for(int i=0;i<3;i++) 25 if( sou[i][0] && ( ret == -1 || sou[i][sou[i][0]] < sou[ret][sou[ret][0]] ) ) ret = i; 26 return ret; 27 } 28 inline int solve_merge(int siz,int tar) { 29 int xp = findmx(st); 30 while( siz && xp == tar ) st[xp][st[xp][0]] = 0 , st[xp][0]-- , siz-- , xp = findmx(st); 31 if( !siz ) return 0; 32 st[xp][st[xp][0]] = 0 , st[xp][0]--; 33 const int nt = 3 - xp - tar; 34 return ( solve_merge(siz-1,nt) + 1 + pows[siz-1] ) % mod; 35 } 36 37 inline void solve() { 38 int ms,me,siz=n; 39 lli ans = 0; 40 while( siz ) { 41 ms = findmx(st) , me = findmx(ed); 42 if( ms == me ) { 43 st[ms][st[ms][0]] = 0 , --st[ms][0]; 44 ed[me][ed[me][0]] = 0 , --ed[me][0]; 45 --siz; 46 } else break; 47 } 48 if( !siz ) { 49 puts("0"); 50 return; 51 } 52 int ftar = 3 - ms - me; 53 st[ms][st[ms][0]] = 0 , --st[ms][0]; 54 ed[me][ed[me][0]] = 0 , --ed[me][0]; 55 --siz; 56 ans = solve_merge(siz,ftar) + 1; 57 //debug<<"inital ans = "<<ans<<endl; 58 while( siz ) { 59 while( siz && ( me = findmx(ed) ) == ftar ) { 60 ed[me][ed[me][0]] = 0 , --ed[me][0]; 61 --siz; 62 } 63 if( !siz ) break; 64 ans = ( ans + pows[siz-1] + 1 ) % mod; 65 ftar = 3 - me - ftar; 66 ed[me][ed[me][0]] = 0 , --ed[me][0] , --siz; 67 } 68 ans = ( ans + mod ) % mod; 69 printf("%lld\n",ans); 70 } 71 int main() { 72 for(int i=1;i<=n;i++) pows[i] = ( ( pows[i-1] << 1 ) | 1 ) % mod; 73 for(int i=0;i<3;i++) { 74 scanf("%d",st[i]); 75 for(int j=1;j<=st[i][0];j++) scanf("%d",st[i]+j); 76 reverse(st[i]+1,st[i]+1+st[i][0]); 77 } 78 for(int i=0;i<3;i++) { 79 scanf("%d",ed[i]); 80 for(int j=1;j<=ed[i][0];j++) scanf("%d",ed[i]+j); 81 reverse(ed[i]+1,ed[i]+1+ed[i][0]); 82 } 83 solve(); 84 return 0; 85 } 86 } 87 88 namespace Force { 89 struct Statement { 90 bitset<maxl> s[3]; 91 inline ulli h() const { 92 ulli ret = 0; 93 for(int i=0;i<3;i++) 94 for(int j=1;j<=n;j++) 95 ret = ret * base + ( j * s[i][j] ); 96 return ret; 97 } 98 inline void findtop(int* ret) const { 99 for(int i=0;i<3;i++) { 100 ret[i] = 0; 101 for(int j=n;j;j--) 102 if( s[i][j] ) { 103 ret[i] = j; 104 break; 105 } 106 } 107 } 108 }st,ed; 109 110 map<ulli,int> mp; 111 queue<pair<Statement,int> > q; 112 ulli tar; 113 int ans; 114 115 inline void extend(const Statement &x,const int step) { 116 Statement nxt = x; 117 int tops[3]; 118 x.findtop(tops); 119 for(int i=0;i<3;i++) 120 for(int j=0;j<3;j++) 121 if( i != j && tops[j] < tops[i]) { // move from i to j . 122 nxt.s[i][tops[i]] = 0 , nxt.s[j][tops[i]] = 1; 123 ulli h = nxt.h(); 124 if( h == tar ) { 125 ans = step + 1; 126 return; 127 } else if( !mp.count(h) ) { 128 mp[h] = step + 1; 129 q.push(make_pair(nxt,step+1)); 130 } 131 nxt.s[i][tops[i]] = 1 , nxt.s[j][tops[i]] = 0; 132 } 133 } 134 135 int main() { 136 ans = -1; 137 if( n <= 15 ) { 138 for(int i=0,t,x;i<3;i++) { 139 scanf("%d",&t); 140 while(t--) scanf("%d",&x) , st.s[i][x] = 1; 141 } 142 ulli h = st.h(); 143 for(int i=0,t,x;i<3;i++) { 144 scanf("%d",&t); 145 while(t--) scanf("%d",&x) , ed.s[i][x] = 1; 146 } 147 tar = ed.h(); 148 q.push(make_pair(st,0)) , mp[h] = 0; 149 while( q.size() && !~ans ) { 150 extend(q.front().first,q.front().second) , q.pop(); 151 } 152 if( h == tar ) return puts("0"),0; 153 printf("%d\n",ans); 154 } else { 155 int ans = 1; 156 while(n--) ans = (long long) ans * 2 % 998244353; 157 ans = ( ans - 1 + 998244353 ) % 998244353; 158 printf("%d\n",ans); 159 } 160 return 0; 161 } 162 } 163 164 int main() { 165 scanf("%d",&n); 166 if( n <= 15 ) Force::main(); 167 else Sol::main(); 168 return 0; 169 } View Code

稍加修改的60分代碼:

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<bitset> 6 #include<map> 7 #include<queue> 8 #define lli long long int 9 #define ulli unsigned long long 10 #define debug cout 11 using namespace std; 12 const int maxn=1e6+1e2,mod=998244353; 13 const int base=17; 14 const int maxl=20; 15 16 int n; 17 18 namespace Sol { 19 int st[3][maxn],ed[3][maxn],now[3][maxn]; 20 lli pows[maxn]; 21 22 inline int findmx(int sou[3][maxn]) { 23 int ret = -1; 24 for(int i=0;i<3;i++) 25 if( sou[i][0] && ( ret == -1 || sou[i][sou[i][0]] < sou[ret][sou[ret][0]] ) ) ret = i; 26 return ret; 27 } 28 inline int solve_merge(int siz,int tar) { 29 int xp = findmx(st); 30 while( siz && xp == tar ) st[xp][st[xp][0]] = 0 , st[xp][0]-- , siz-- , xp = findmx(st); 31 if( !siz ) return 0; 32 st[xp][st[xp][0]] = 0 , st[xp][0]--; 33 const int nt = 3 - xp - tar; 34 return ( solve_merge(siz-1,nt) + 1 + pows[siz-1] ) % mod; 35 } 36 37 inline void solve() { 38 int ms,me,siz=n; 39 lli ans = 0; 40 while( siz ) { 41 ms = findmx(st) , me = findmx(ed); 42 //debug<<"ms = "<<ms<<"me = "<<me<<endl; 43 if( ms == me ) { 44 st[ms][st[ms][0]] = 0 , --st[ms][0]; 45 ed[me][ed[me][0]] = 0 , --ed[me][0]; 46 --siz; 47 } else break; 48 } 49 if( !siz ) { 50 puts("0"); 51 return; 52 } 53 int ftar = 3 - ms - me; 54 st[ms][st[ms][0]] = 0 , --st[ms][0]; 55 ed[me][ed[me][0]] = 0 , --ed[me][0]; 56 --siz; 57 ans = solve_merge(siz,ftar) + 1; 58 //debug<<"inital ans = "<<ans<<endl; 59 while( siz ) { 60 while( siz && ( me = findmx(ed) ) == ftar ) { 61 ed[me][ed[me][0]] = 0 , --ed[me][0]; 62 --siz; 63 } 64 if( !siz ) break; 65 ans = ( ans + pows[siz-1] + 1 ) % mod; 66 ftar = 3 - me - ftar; 67 ed[me][ed[me][0]] = 0 , --ed[me][0] , --siz; 68 } 69 ans = ( ans + mod ) % mod; 70 printf("%lld\n",ans); 71 } 72 int main() { 73 for(int i=1;i<=n;i++) pows[i] = ( ( pows[i-1] << 1 ) | 1 ) % mod; 74 for(int i=0;i<3;i++) { 75 scanf("%d",st[i]); 76 for(int j=1;j<=st[i][0];j++) scanf("%d",st[i]+j) , st[i][j] = n - st[i][j] + 1; 77 //reverse(st[i]+1,st[i]+1+st[i][0]); 78 } 79 for(int i=0;i<3;i++) { 80 scanf("%d",ed[i]); 81 for(int j=1;j<=ed[i][0];j++) scanf("%d",ed[i]+j) , ed[i][j] = n - ed[i][j] + 1; 82 //reverse(ed[i]+1,ed[i]+1+ed[i][0]); 83 } 84 solve(); 85 return 0; 86 } 87 } 88 89 namespace Force { 90 struct Statement { 91 bitset<maxl> s[3]; 92 inline ulli h() const { 93 ulli ret = 0; 94 for(int i=0;i<3;i++) 95 for(int j=1;j<=n;j++) 96 ret = ret * base + ( j * s[i][j] ); 97 return ret; 98 } 99 inline void findtop(int* ret) const { 100 for(int i=0;i<3;i++) { 101 ret[i] = 0; 102 for(int j=n;j;j--) 103 if( s[i][j] ) { 104 ret[i] = j; 105 break; 106 } 107 } 108 } 109 }st,ed; 110 111 map<ulli,int> mp; 112 queue<pair<Statement,int> > q; 113 ulli tar; 114 int ans; 115 116 inline void extend(const Statement &x,const int step) { 117 Statement nxt = x; 118 int tops[3]; 119 x.findtop(tops); 120 for(int i=0;i<3;i++) 121 for(int j=0;j<3;j++) 122 if( i != j && tops[j] < tops[i]) { // move from i to j . 123 nxt.s[i][tops[i]] = 0 , nxt.s[j][tops[i]] = 1; 124 ulli h = nxt.h(); 125 if( h == tar ) { 126 ans = step + 1; 127 return; 128 } else if( !mp.count(h) ) { 129 mp[h] = step + 1; 130 q.push(make_pair(nxt,step+1)); 131 } 132 nxt.s[i][tops[i]] = 1 , nxt.s[j][tops[i]] = 0; 133 } 134 } 135 136 int main() { 137 ans = -1; 138 if( n <= 15 ) { 139 for(int i=0,t,x;i<3;i++) { 140 scanf("%d",&t); 141 while(t--) scanf("%d",&x) , st.s[i][n-x+1] = 1; 142 } 143 ulli h = st.h(); 144 for(int i=0,t,x;i<3;i++) { 145 scanf("%d",&t); 146 while(t--) scanf("%d",&x) , ed.s[i][n-x+1] = 1; 147 } 148 tar = ed.h(); 149 q.push(make_pair(st,0)) , mp[h] = 0; 150 while( q.size() && !~ans ) { 151 extend(q.front().first,q.front().second) , q.pop(); 152 } 153 if( h == tar ) return puts("0"),0; 154 printf("%d\n",ans); 155 } else { 156 int ans = 1; 157 while(n--) ans = (long long) ans * 2 % 998244353; 158 ans = ( ans - 1 + 998244353 ) % 998244353; 159 printf("%d\n",ans); 160 } 161 return 0; 162 } 163 } 164 165 int main() { 166 scanf("%d",&n); 167 if( n < 15 ) Force::main(); 168 else Sol::main(); 169 return 0; 170 } View Code

考后AC代碼:

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #define lli long long int 6 using namespace std; 7 const int maxn=1e6+1e2; 8 const int mod=998244353; 9 10 int st[maxn],ed[maxn],way1[maxn],way2[maxn]; 11 lli ans; 12 13 inline void calc(int* dst,const int* sou,int pos,int tar) { 14 if( !pos ) return; 15 if( sou[pos] == tar ) return calc(dst,sou,pos-1,tar); 16 ++dst[pos-1] , calc(dst,sou,pos-1,6-tar-sou[pos]); 17 } 18 inline void fix(int* dst,int len) { 19 for(int i=0;i<len;i++) 20 dst[i+1] += dst[i] >> 1 , dst[i] &= 1; 21 } 22 inline bool cmp(int* lhs,int* rhs,int len) { 23 for(int i=len;~i;i--) if( lhs[i] != rhs[i] ) return lhs[i] < rhs[i]; 24 return 0; 25 } 26 inline lli getans(int* sou,int len) { 27 lli ret = 0; 28 for(int i=len;~i;i--) ret = ( ( ret << 1 ) + sou[i] ) % mod; 29 return ret; 30 } 31 32 int main() { 33 static int n,siz; 34 scanf("%d",&n),siz=n; 35 for(int i=1,p,x;i<=3;i++) { 36 scanf("%d",&p); 37 while(p--) scanf("%d",&x) , st[x] = i; 38 } 39 for(int i=1,p,x;i<=3;i++) { 40 scanf("%d",&p); 41 while(p--) scanf("%d",&x) , ed[x] = i; 42 } 43 while( st[siz] == ed[siz] ) --siz; 44 if( !siz ) return puts("0"),0; 45 calc(way1,st,siz-1,6-st[siz]-ed[siz]) , calc(way1,ed,siz-1,6-st[siz]-ed[siz]) , ++*way1; 46 calc(way2,st,siz-1,ed[siz]) , calc(way2,ed,siz-1,st[siz]) , ++*way2 , ++way2[siz-1]; 47 fix(way1,n+3) , fix(way2,n+3); 48 ans = cmp(way1,way2,n+3) ? getans(way1,n+3) : getans(way2,n+3); 49 printf("%lld\n",ans); 50 return 0; 51 } View Code


T3:


這一看就是神仙題啊,這東西人干事?
以下是官方的題解:

看不懂題解的我只好寫了一個(gè)60分大力反演,棄坑了。
60分代碼:

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 #define lli long long int 7 #define debug cout 8 using namespace std; 9 const int maxn=1e6+1e2; 10 const int mod=998244353; 11 12 int bas[maxn],tim[maxn],mu[maxn]; 13 int n,D,L,R; 14 15 inline lli fastpow(lli base,int tim) { 16 lli ret = 1; 17 while( tim ) { 18 if( tim & 1 ) ret = ret * base % mod; 19 if( tim >>= 1 ) base = base * base % mod; 20 } 21 return ret % mod; 22 } 23 inline int gcd(int x,int y) { 24 if( ! ( x && y ) ) return x | y; 25 register int t; 26 while( ( t = x % y ) ) 27 x = y , y = t; 28 return y; 29 } 30 31 inline void pre() { 32 bas[1] = tim[1] = 1; 33 for(int i=2;i<=n;i++) { 34 if( !bas[i] ) for(lli j=i,cnt=1;j<=n;j*=i,++cnt) bas[j] = i , tim[j] = cnt; 35 } 36 } 37 inline void sieve() { 38 static int prime[maxn],cnt; 39 static char vis[maxn]; 40 mu[1] = 1; 41 for(int i=2;i<=n;i++) { 42 if( !vis[i] ) prime[++cnt] = i , mu[i] = -1; 43 for(int j=1;j<=cnt&&(lli)i*prime[j]<=n;j++) { 44 const int tar = i * prime[j]; 45 vis[tar] = 1; 46 if( ! ( i % prime[j]) ) break; 47 mu[tar] = -mu[i]; 48 } 49 } 50 } 51 52 inline lli force_g(int x,int sqt) { 53 int g = gcd( sqt , tim[x] ); 54 return fastpow(fastpow(bas[x],tim[x]/g),sqt/g); 55 } 56 inline lli force(int x) { 57 lli ret = 0; 58 const int lim = (int) ( log2(x) * D + 1e-6 ); 59 for(int i=D;i<=lim;i+=D) { 60 for(int j=1;j*i<=lim;j++) 61 ret += mu[i/D] * mu[j] * fastpow(j,D) * force_g(x,i*j) % mod , 62 ret %= mod; 63 } 64 return ret; 65 } 66 67 int main() { 68 static lli ans; 69 scanf("%d%d%d%d",&n,&D,&L,&R) , pre() , sieve(); 70 for(int i=L;i<=R;i++) ( ans += force(i) ) %= mod; 71 ans = ( ans % mod + mod ) % mod; 72 printf("%lld\n",ans); 73 return 0; 74 } View Code

然后把神仙寫的標(biāo)程丟上來好了,反正我已經(jīng)涼了。
神仙題的std:

1 #include <bits/stdc++.h> 2 using namespace std; 3 4 typedef long long lint; 5 typedef long double db; 6 const int N = 500010, MO = 998244353; 7 8 inline int add(int a,int b) { return (a+b)%MO; } 9 inline int mul(int a,int b) { return (lint)a*b%MO; } 10 inline int powmod(int a,int b) 11 { 12 int s = 1; 13 for(;b;b>>=1,a=mul(a,a)) if(b&1) s = mul(s,a); 14 return s; 15 } 16 17 int n,D,L,R; 18 int sk[N],mu[N],c[N],pr[N],np[N],ps; 19 20 void pre() 21 { 22 int i,j; np[1] = 1, mu[1] = 1; 23 for(i=2;i<N;i++) 24 { 25 if(!np[i]) pr[++ps] = i, mu[i] = MO-1; 26 for(j=1;j<=ps&&i*pr[j]<N;j++) 27 { 28 np[i*pr[j]] = 1; 29 if(i%pr[j]==0) break; 30 mu[i*pr[j]] = (MO-mu[i])%MO; 31 } 32 } 33 for(i=1;i<=33;i++) 34 { 35 for(j=1;j<=i;j++) if(i%j==0) 36 c[i] = add(c[i],mul(mul(mu[j],mu[i/j]),powmod(i/j,D))); 37 } 38 } 39 40 int sum(int k,int l,int r) 41 { 42 if(l>r) return 0; 43 k++; 44 int s = 0, top = min(k,r); 45 int i,j; 46 sk[1] = 1; 47 for(i=2;i<=top;i++) 48 { 49 if(!np[i]) sk[i] = powmod(i,k-1); 50 for(j=1;j<=ps&&pr[j]<=i&&i*pr[j]<=top;j++) 51 { 52 sk[i*pr[j]] = mul(sk[i],sk[pr[j]]); 53 if(i%pr[j]==0) break; 54 } 55 } 56 if(r<=k) 57 { 58 for(int i=l;i<=r;i++) 59 s = add(s,sk[i]); 60 return s; 61 } 62 for(i=1;i<=k;i++) sk[i] = add(sk[i],sk[i-1]); 63 static int fc[N],iv[N],ml[N],mr[N]; 64 fc[0] = 1, ml[0] = 1, mr[k] = 1; 65 for(i=1;i<=k;i++) fc[i] = mul(fc[i-1],i), ml[i] = mul(ml[i-1],r-k+i-1); 66 iv[k] = powmod(fc[k],MO-2); 67 for(i=k-1;i>=0;i--) mr[i] = mul(mr[i+1],r-k+i+1), iv[i] = mul(iv[i+1],i+1); 68 for(i=0;i<=k;i++) s = add(s,(MO+(i&1?-1:1)*mul(sk[k-i],mul(mul(ml[i],mr[i]),mul(iv[i],iv[k-i]))))%MO); 69 70 l--; 71 for(i=1;i<=k;i++) ml[i] = mul(ml[i-1],l-k+i-1); 72 for(i=k-1;i>=0;i--) mr[i] = mul(mr[i+1],l-k+i+1); 73 for(i=0;i<=k;i++) s = add(s,(MO-(i&1?-1:1)*mul(sk[k-i],mul(mul(ml[i],mr[i]),mul(iv[i],iv[k-i]))))%MO); 74 return s; 75 } 76 77 inline int rtceil(int a,int b) 78 { 79 int x = pow(a,1/(db)b); 80 while(pow(x,b)>a) x--; 81 while(pow(x,b)<a) x++; 82 return x; 83 } 84 85 inline int rtfloor(int a,int b) 86 { 87 int x = pow(a,1/(db)b); 88 while(pow(x,b)<a) x++; 89 while(pow(x,b)>a) x--; 90 return x; 91 } 92 93 int calcg(int m) 94 { 95 int s = 0; 96 for(int k=1;k<=m;k++) if(m%k==0) 97 { 98 int x = max(rtceil(L,k),(int)ceil(pow(2,m/k/(db)D))); 99 int y = rtfloor(R,k); 100 s = add(s,sum(m/k,x,y)); 101 } 102 for(int l=2;l<=m;l++) if(m%l==0&&mu[l]) 103 { 104 int t = 0; 105 for(int k=1;k*l<=m;k++) if(m%(k*l)==0) 106 { 107 int _l = max((int)ceil(pow(2,m/(k*l)/(db)D)),rtceil(L,k*l)); 108 int _r = rtfloor(R,k*l); 109 t = add(t,sum(m/k*l,_l,_r)); 110 } 111 s = add(s,mul(t,mu[l])); 112 } 113 return s; 114 } 115 116 int work() 117 { 118 int s = 0; 119 pre(); 120 for(lint m=D,p=2;p<=R;m+=D,p<<=1) 121 s = add(s,mul(c[m/D],calcg(m))); 122 return s; 123 } 124 125 int main() 126 { 127 scanf("%d%d%d%d",&n,&D,&L,&R); 128 printf("%d\n",work()); 129 return 0; 130 } View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/Cmd2001/p/8541607.html

總結(jié)

以上是生活随笔為你收集整理的北京集训:20180310的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

天天曰夜夜操 | 国产专区第一页 | 福利久久久 | 国产精品久久久久久模特 | 日本黄色免费在线观看 | 国产精品一区二区久久精品爱涩 | 精品国产大片 | 国产三级视频在线 | 久久玖 | 91精品少妇偷拍99 | 久久99精品一区二区三区三区 | 91av电影在线 | 亚洲精品国产精品国自 | 亚洲国产合集 | 99久久99久久免费精品蜜臀 | 国产丝袜在线 | 国产一级视频免费看 | 精品久久久久久电影 | 欧美国产不卡 | 亚洲精品视频久久 | 91成品人影院 | 人人爽人人爽 | 欧美精品在线观看免费 | 婷婷丁香激情五月 | 久久影视精品 | 国产精品理论片 | 久久手机精品视频 | 中文字幕网址 | 国产一区二区三区免费观看视频 | 久久的色 | 日本在线免费看 | 国产破处精品 | 日韩亚洲国产中文字幕 | 正在播放 久久 | 一级黄色在线免费观看 | 日韩1页 | 国产精品亚洲视频 | 在线看黄网站 | 日本久久免费电影 | 97精品久久人人爽人人爽 | 在线观看的黄色 | 国产欧美日韩视频 | 99热官网 | 天天曰天天干 | 2022久久国产露脸精品国产 | 国产精品一区二区在线观看免费 | 婷色在线 | 91禁看片| 精品国产一区二区三区噜噜噜 | 欧美激情在线网站 | 干干操操 | 日韩在线视频在线观看 | 亚洲精品国产片 | 欧美激情另类 | 在线视频欧美精品 | 麻豆精品国产传媒 | 精品视频www | 91爱看片| 久久久久9999亚洲精品 | 99精品国产高清在线观看 | 免费在线观看av网址 | 久久黄色免费视频 | 久久精品久久久精品美女 | 日日夜夜精品免费视频 | 久久久久 | 九九色在线观看 | 99热亚洲精品| 插综合网| 天天天操天天天干 | 高清国产一区 | 一区二区在线不卡 | 国产精品资源 | 人人玩人人添人人 | 四虎国产永久在线精品 | 久久免费视频3 | 久久国内精品99久久6app | 中文在线免费一区三区 | 黄色大片入口 | 久久综合桃花 | 精品91久久久久 | 日韩高清av在线 | a视频在线观看免费 | 99国产在线视频 | 久久久久久久久久久久久久av | 欧美精品九九99久久 | 美女网站在线 | 一区二区三区av在线 | 久草免费手机视频 | 日韩在线观看视频中文字幕 | 成人羞羞免费 | 亚洲免费在线视频 | 日韩毛片在线播放 | 久久精品国产一区二区电影 | 三级av免费 | 91爱爱网址 | 亚洲人成精品久久久久 | 成人免费毛片aaaaaa片 | 最新免费av在线 | 亚洲视频一 | 91免费网| 伊人影院在线观看 | 国产精品一区二区精品视频免费看 | 亚洲人片在线观看 | 久久久在线免费观看 | 成 人 黄 色 视频 免费观看 | 国产中文字幕视频在线观看 | 日本精品久久久久中文字幕 | 一区二区三区四区在线免费观看 | 99久免费精品视频在线观看 | 婷婷丁香社区 | 97热久久免费频精品99 | 国产精品 视频 | 91视频国产免费 | 免费观看版 | 麻豆久久| 五月天综合色激情 | 国产精品电影一区二区 | 97成人资源| 成人av播放 | 在线观看免费黄色 | 九草在线视频 | 四虎永久免费网站 | 玖玖色在线观看 | 久久综合免费视频 | 草免费视频 | 久久久久久久久亚洲精品 | 99久久免费看 | 91最新在线视频 | 日韩久久久 | 国产一区二区三区高清播放 | 国产成人久久精品亚洲 | 日韩免费观看高清 | 麻豆 91 在线 | av免费线看 | 一级一片免费视频 | 国产精品高潮久久av | 四虎国产精品免费 | 91在线产啪 | 日韩三级视频 | 五月天久久精品 | 久久久免费看片 | 成年人毛片在线观看 | 国产精品久久久久久久99 | 麻豆成人在线观看 | 久久爽久久爽久久av东京爽 | 五月天久久婷 | 国产成人精品区 | 国产精品久久久 | 国产精品ssss在线亚洲 | 日本精a在线观看 | 麻豆系列在线观看 | 成人一区不卡 | 亚洲免费av网站 | 国产成人精品久久二区二区 | 国产在线观看免 | 黄网站免费大全入口 | 日韩欧三级 | 国产精彩在线视频 | 免费观看黄色av | 国产69精品久久久久久久久久 | 国产精品999久久久 久产久精国产品 | 日本黄色大片免费看 | 国产精品视频免费在线观看 | 亚洲国产精品成人va在线观看 | 免费在线观看av不卡 | 亚洲撸撸 | 国产精品黄色影片导航在线观看 | 这里只有精品视频在线 | 天天干夜夜爱 | 日韩av高清 | а天堂中文最新一区二区三区 | 黄色av大片 | 免费看片网页 | 五月激情站| 99久久精品国产欧美主题曲 | 不卡视频在线看 | 涩涩网站在线 | 国精产品一二三线999 | 欧美国产日韩一区二区三区 | 超碰97国产精品人人cao | 中文字幕在线观看一区二区三区 | 日本精品视频在线 | 91成人破解版 | 天天干夜夜爱 | 99产精品成人啪免费网站 | 国产999视频 | 97精品久久人人爽人人爽 | 碰碰影院 | 国产小视频在线免费观看视频 | 欧美日韩视频在线观看免费 | 日韩视频免费 | 亚洲一区精品人人爽人人躁 | 免费视频一区 | 欧美巨大荫蒂茸毛毛人妖 | 成人福利在线 | 一区二区三区四区在线免费观看 | 韩日精品视频 | 狠狠干成人| 久久综合狠狠综合久久狠狠色综合 | 久久爱www. | 国产婷婷一区二区 | 中文字幕人成一区 | 成人app在线播放 | 97av视频在线观看 | 99精品国产视频 | 黄色大片日本 | 精品国内自产拍在线观看视频 | 中文字幕免费在线 | 久草网首页 | 国产美女免费观看 | 天天干一干 | 国产精彩视频 | 人人要人人澡人人爽人人dvd | 婷婷丁香色 | 欧美日韩在线精品一区二区 | 97免费中文视频在线观看 | 日韩在线观看网址 | www久久久| a级国产乱理伦片在线观看 亚洲3级 | 中文字幕制服丝袜av久久 | 91中文字幕永久在线 | 国产丝袜 | 欧美性生爱 | 中文字幕在线观看完整 | 亚洲黄色片一级 | 亚洲婷婷综合色高清在线 | a黄色影院 | 午夜久久久久久久久久久 | 91精品国产综合久久福利不卡 | 欧美日韩不卡一区二区 | 日韩免费福利 | 99精品久久久久 | 日韩电影在线一区二区 | 国产国语在线 | 精品国产乱码久久久久久三级人 | 特级a老妇做爰全过程 | 福利网址在线观看 | 操操操av | 亚洲一级片 | 奇米影视777四色米奇影院 | 国产精品久久精品国产 | 精品国产三级 | www.久久精品视频 | 最近中文字幕免费观看 | 91在线播放国产 | 日韩免费播放 | 韩国av一区二区三区 | 天天干.com| 久久成人一区二区 | 在线中文字幕播放 | 亚洲国产精品推荐 | 五月婷婷中文网 | 高潮毛片无遮挡高清免费 | 五月婷婷激情网 | 日本女人在线观看 | 亚洲视频免费在线看 | 国产高清不卡 | 少妇bbb搡bbbb搡bbbb | 国内精品久久久久久久久久久久 | 天天摸天天舔天天操 | 国产高清av免费在线观看 | 日韩一区二区三区免费电影 | 日本精品久久久久影院 | 色婷婷国产精品一区在线观看 | 91桃色免费观看 | 日韩啪视频 | 曰本免费av | 456免费视频 | 亚洲精品自拍 | 久久国产a| 91亚洲欧美激情 | 日韩精品中文字幕在线播放 | 日本黄色免费在线观看 | 五月天婷亚洲天综合网精品偷 | 日韩欧美国产视频 | 一级黄色大片在线观看 | 9999亚洲| 亚洲国产精品成人女人久久 | 香蕉在线视频播放网站 | 九九九九热精品免费视频点播观看 | 国产精品日韩在线观看 | 精品毛片一区二区免费看 | 国产小视频在线播放 | 精品久久久久一区二区国产 | 69久久99精品久久久久婷婷 | 国产午夜精品久久久久久久久久 | 亚洲一二三在线 | 欧美大片mv免费 | 91色国产在线 | 久久久国产毛片 | 国产一区二区三区四区大秀 | 日韩亚洲国产中文字幕 | 国产视频 久久久 | 在线观看黄色 | 精品99在线视频 | 黄色精品网站 | 精品91久久久久 | 激情深爱五月 | 99精品国产aⅴ | 日韩高清一区二区 | 日韩在线免费电影 | 中文字幕日韩国产 | 天天躁天天躁天天躁婷 | 久久伊人八月婷婷综合激情 | 亚洲天堂毛片 | 国产91全国探花系列在线播放 | 久久国产一区 | 操一草| 一区二区精品国产 | 91精品国产电影 | 婷婷亚洲五月色综合 | 日韩一区在线播放 | 91精品视频播放 | 国产免费又粗又猛又爽 | 日本高清中文字幕有码在线 | 久久精品一二区 | 日韩精品视频免费专区在线播放 | 久久精品站 | 中文字幕在线观看91 | 日韩在线无| 黄色影院在线免费观看 | 国产91在线观 | 一级黄色在线视频 | 欧美在线视频a | 日韩欧美在线播放 | 亚洲欧洲精品久久 | 国产一区电影在线观看 | 玖玖在线观看视频 | 日本久久久亚洲精品 | 婷婷久久五月天 | 中文字幕五区 | 久久免费视频国产 | 精品视频成人 | 9热精品 | 人人玩人人添人人澡超碰 | 日韩三级精品 | 五月婷婷丁香色 | 人人爽人人爽人人片 | 草久中文字幕 | 国产色婷婷 | 国产一区成人 | 国产尤物在线观看 | 国产精品综合av一区二区国产馆 | www久久久久 | 91在线看片 | 国产精品久久片 | 欧美精品一区二区在线播放 | 欧美精品一区二区性色 | 欧美日韩不卡一区二区三区 | 亚洲区二区 | 黄色小说在线免费观看 | av免费在线网站 | 中文字幕在线一区二区三区 | 国产综合久久 | 99精品国产一区二区三区麻豆 | 久久综合九色综合网站 | 蜜桃视频在线视频 | 国产又黄又猛又粗 | 国产日韩欧美精品在线观看 | 91麻豆精品国产91久久久久久久久 | 粉嫩av一区二区三区入口 | 美女视频a美女大全免费下载蜜臀 | 一区二区三区电影 | 在线蜜桃视频 | 中文字幕av一区二区三区四区 | 精品一区欧美 | 91人人爱| 久久成人精品视频 | 韩国精品福利一区二区三区 | 三级黄色片在线观看 | 久久国产精品第一页 | 亚洲精品国产综合久久 | 天天干,天天射,天天操,天天摸 | av官网在线| 国产成人久久久77777 | 国产一区二区电影在线观看 | 99r在线| 精品一二三区视频 | 国产欧美高清 | 国产婷婷色 | 丁香婷婷在线 | 日韩在线观看三区 | av免费线看 | 国产做aⅴ在线视频播放 | 国内精品国产三级国产aⅴ久 | 久草视频免费播放 | 国产一区二区在线免费 | 91成人观看 | 亚洲一区尤物 | 99精品国产高清在线观看 | www.狠狠操.com| 狠狠躁夜夜av | 看片网站黄 | 五月情婷婷 | 国产高清日韩 | 日韩国产精品毛片 | 国产精品片| 少妇精品久久久一区二区免费 | 午夜在线看| 91在线视频网址 | 96在线 | 精品国产一区二区三区男人吃奶 | 成年人免费在线看 | 天天色天天射天天干 | 又爽又黄又无遮挡网站动态图 | 色综合亚洲精品激情狠狠 | 久久精品一区二区三区国产主播 | 国产精品青草综合久久久久99 | 美女视频a美女大全免费下载蜜臀 | 中文资源在线官网 | 超碰公开97 | 亚洲成人av电影在线 | 91电影福利 | 午夜精品一区二区三区可下载 | 夜夜操天天操 | 国产综合精品一区二区三区 | 久久精品4| 久久精品国产一区二区 | 亚洲传媒在线 | 亚洲精品小视频 | 亚洲欧美视频在线 | 亚洲精品啊啊啊 | 丁香久久五月 | 99精品免费网 | 91一区啪爱嗯打偷拍欧美 | 99精品视频99 | 99性视频 | 欧美日韩高清免费 | 成人看片 | 日韩高清一 | 九七在线视频 | 超碰在线97观看 | 精品久久一二三区 | 四虎成人在线 | 国产免费美女 | 国产.精品.日韩.另类.中文.在线.播放 | 国产偷国产偷亚洲清高 | 欧美日韩一区二区三区在线观看视频 | 日韩a级黄色| 97超碰人人在线 | 欧美一级性 | 91麻豆精品国产91久久久无限制版 | 欧美日本高清视频 | jizz欧美性9 国产一区高清在线观看 | 日本三级香港三级人妇99 | 91aaa在线观看 | 欧美日韩国产综合网 | 五月婷婷综合在线观看 | 免费在线观看成人小视频 | 日韩电影一区二区在线 | 激情婷婷六月 | 毛片网免费 | 久久久国内精品 | 一级黄色免费 | 日韩精品中文字幕av | 久久国产电影 | 欧美成人精品欧美一级乱黄 | 综合网五月天 | 色com网| 激情欧美日韩一区二区 | 69久久久久久久 | 亚州精品一二三区 | 日韩一级片观看 | 深爱激情五月网 | 在线性视频日韩欧美 | 欧美在线aaa | 国产高清视频免费观看 | 开心激情网五月天 | 日韩资源在线播放 | 97人人模人人爽人人喊中文字 | 丁香视频五月 | 亚洲国产精品视频 | 激情伊人 | 91免费在线 | 亚洲国产三级在线 | 麻豆视频在线播放 | 成人中文字幕在线观看 | 国产中文字幕在线免费观看 | 久久色在线播放 | 91久久国产露脸精品国产闺蜜 | 国产精品午夜在线 | 久久九九国产精品 | 日日成人网| 一个色综合网站 | 欧美a在线看 | 亚洲综合五月天 | 一级α片免费看 | 超碰国产在线观看 | 亚洲精品黄色在线观看 | av福利在线播放 | 婷婷丁香六月天 | 国产视频资源在线观看 | 国产午夜精品久久 | 久久av在线| 亚洲精品白浆高清久久久久久 | 91日韩在线播放 | 久久av伊人 | 欧美日韩免费观看一区=区三区 | 久久综合中文字幕 | 亚洲激情国产精品 | 六月丁香激情综合色啪小说 | 婷婷激情站 | 久久久久草 | 狠狠色噜噜狠狠狠合久 | www免费网站在线观看 | 日本韩国精品在线 | 久久99精品久久久久蜜臀 | 国产精品永久在线 | 日韩高清国产精品 | 91精品国产欧美一区二区成人 | 在线中文字幕电影 | 99九九99九九九视频精品 | a在线v| 欧美精品v国产精品v日韩精品 | 8x成人免费视频 | 国产一区二区在线免费观看 | 99久久综合国产精品二区 | 99中文在线 | 久久视影 | 国产精品色在线 | 免费a级毛片在线看 | 日日爽天天操 | 啪啪动态视频 | 九九视频在线播放 | 国产手机av | 在线观看日本韩国电影 | 久久午夜影院 | 国产精品视频地址 | 黄色一级大片在线免费看产 | 中文字幕在 | 国产精品美女视频网站 | 亚洲天天干 | 精品伦理一区二区三区 | 这里只有精彩视频 | 国产精品成人一区二区三区 | 色吊丝av中文字幕 | 久久艹艹 | 成人a在线 | 激情欧美日韩一区二区 | 天天干天天碰 | 麻豆91视频 | 天天曰视频 | 亚洲一二视频 | 丁香九月激情综合 | 国产精品永久久久久久久www | 天堂va在线观看 | 精品国产一区二区三区在线 | 精品亚洲欧美一区 | 欧美一级片在线播放 | 亚州精品国产 | 日韩一区二区免费播放 | www.在线看片.com | 午夜av免费在线观看 | www.色爱| 91成版人在线观看入口 | 成人黄色av网站 | 国产自制av| 亚洲v欧美v国产v在线观看 | 成年人视频在线免费 | 欧美成人精品欧美一级乱黄 | 色婷婷亚洲 | 久久久久激情电影 | av在线播放中文字幕 | 亚洲年轻女教师毛茸茸 | 狠狠撸电影 | 久久久久久久影院 | 国产丝袜一区二区三区 | 成人欧美一区二区三区在线观看 | 夜夜躁日日躁狠狠久久88av | 亚洲精品在线观看免费 | 久久视讯 | 国产精品99蜜臀久久不卡二区 | 午夜视频99 | 99精品国产99久久久久久福利 | 欧美性脚交| 国产精品视频永久免费播放 | 成人影音在线 | 中国成人一区 | 国产在线a免费观看 | 热re99久久精品国产66热 | 亚洲国产三级在线 | 久草国产精品 | 欧美性生活一级片 | 在线国产能看的 | 亚洲精品合集 | 亚洲福利精品 | 99精品视频精品精品视频 | 天天色天天射天天操 | 99视频免费观看 | 久久草在线视频国产 | 欧美日韩一区二区三区免费视频 | 91精品成人 | 精品国产一二三四区 | 国产精品96久久久久久吹潮 | 欧美另类xxxx | 91在线观看黄| 婷婷在线精品视频 | 国产精品久久99综合免费观看尤物 | 国内久久 | 亚洲专区中文字幕 | 91爱在线| 国产偷v国产偷∨精品视频 在线草 | av九九九| 免费污片 | 西西444www大胆高清视频 | 日韩视频在线不卡 | 国产一区二区三区黄 | 热re99久久精品国产99热 | 99 久久久久 | 一本一本久久a久久精品牛牛影视 | 九九九视频在线 | 亚洲精品五月天 | av3级在线 | 伊人久久影视 | 婷婷在线看 | 免费一级片视频 | 日韩中文字幕电影 | 六月丁香久久 | 在线观看成人小视频 | 丁香五婷 | 日日夜夜人人精品 | 久久图| 亚洲专区 国产精品 | 国产 在线 日韩 | 国产一级做a爱片久久毛片a | 国产不卡免费视频 | 久久精品亚洲精品国产欧美 | 欧美一二区在线 | 9色在线视频 | 国产一区视频在线播放 | 98涩涩国产露脸精品国产网 | 黄色在线观看网站 | 五月婷婷激情五月 | 久久视频这里只有精品 | 又黄又色又爽 | 香蕉视频网站在线观看 | 黄色小说在线免费观看 | 日韩在线播放欧美字幕 | 亚洲国产人午在线一二区 | 日本韩国精品一区二区在线观看 | 亚洲一级理论片 | 亚洲成aⅴ人片久久青草影院 | 九九亚洲视频 | 日韩理论 | 欧美日韩电影在线播放 | 国产一区免费在线 | 一区二区三区日韩精品 | 777久久久 | 亚洲欧洲国产日韩精品 | 天天干,天天操,天天射 | 一区二区三区精品在线视频 | 国产日韩精品一区二区在线观看播放 | 日韩区欧美久久久无人区 | 欧美日韩精品电影 | 国产黄色在线看 | 人人人爽| 亚洲精品在线视频观看 | 在线国产一区 | 久久av免费观看 | 亚洲色影爱久久精品 | 看全黄大色黄大片 | 日韩中文字幕a | 可以免费看av | 中文字幕123区 | 久久试看 | 最近高清中文在线字幕在线观看 | 探花国产在线 | 国产打女人屁股调教97 | 中文字幕丝袜制服 | 夜夜躁天天躁很躁波 | 日韩免费中文字幕 | 99久久精品国产系列 | 成人免费观看视频大全 | 很黄很污的视频网站 | 欧美日韩久久 | 亚洲视频在线观看网站 | 狠狠躁日日躁狂躁夜夜躁 | 成人在线观看免费 | 免费国产在线视频 | 国产色婷婷 | 亚洲国产成人高清精品 | 国产夫妻性生活自拍 | 视频在线日韩 | 日韩理论片 | 日韩精选在线观看 | 天天插日日操 | 最新超碰在线 | 久草爱视频 | 欧美日韩免费一区二区 | 天天操夜操| 日韩中午字幕 | 一级特黄aaa大片在线观看 | 在线视频电影 | 麻豆视频在线免费观看 | 精品二区久久 | 一区二区三区在线看 | 人人插人人插 | 久久久国际精品 | 91最新地址永久入口 | 日批视频 | 福利视频区 | 五月婷婷香蕉 | 婷婷开心久久网 | 国产你懂的在线 | 成人在线小视频 | 亚洲国产综合在线 | 91亚·色| 国产69精品久久久久9999apgf | 久精品视频免费观看2 | 久久国产一二区 | 超碰av在线播放 | 国产精品21区 | 91精品欧美一区二区三区 | 亚洲老妇xxxxxx | 国产小视频在线 | 91免费试看| 91精品久久香蕉国产线看观看 | 中文在线中文资源 | 超碰成人免费电影 | 特级西西www44高清大胆图片 | 日韩欧美在线观看一区二区 | 亚洲精品av中文字幕在线在线 | 天天操狠狠操网站 | 91成人欧美| 中文字幕亚洲在线观看 | 国产不卡视频在线播放 | 久久久久久久久久久福利 | 日日夜操 | 中文字幕资源在线观看 | 三级性生活视频 | 97视频播放 | 久久久久亚洲天堂 | 亚洲免费精彩视频 | 亚州国产视频 | 国产中文欧美日韩在线 | 亚洲成人黄色 | 国产剧情久久 | av电影不卡在线 | 国产一区二区三区免费在线 | 久草在线手机视频 | 成人午夜在线电影 | 免费看成人a| 久在线观看视频 | 久久a久久| 精品你懂的 | 国产aa免费视频 | 在线久热 | 91精品免费视频 | 伊人国产在线播放 | 男女啪啪网站 | 国产特级毛片aaaaaa高清 | 最近更新好看的中文字幕 | 欧美ⅹxxxxxx | 91在线区 | 天堂av免费看 | 狠狠插狠狠干 | 日韩成人精品一区二区三区 | 丁香婷婷久久久综合精品国产 | 久久亚洲影视 | 天天干人人| 欧美在线观看视频免费 | 天天做日日爱夜夜爽 | 国产视频在线播放 | 久久成年人视频 | 日韩区在线观看 | 国产精品手机在线观看 | 缴情综合网五月天 | 在线av资源| 一区二区成人国产精品 | 欧美日韩精品区 | 天堂av在线7| av网站免费线看精品 | 在线观看国产永久免费视频 | 色综合天天综合网国产成人网 | 91精品在线播放 | 亚洲视频在线看 | 久久69精品久久久久久久电影好 | 大型av综合网站 | 99久视频 | 97精品国产手机 | a天堂中文在线 | 国产日韩欧美中文 | 久草视频在线资源站 | 久久理伦片 | 九九热re | 日本字幕网 | 最近高清中文字幕在线国语5 | 国产精品免费小视频 | 在线免费观看黄色大片 | 国产精品久久久久久久久久久不卡 | 国产+日韩欧美 | www.夜夜骑.com | 91精品啪在线观看国产线免费 | 久久只精品99品免费久23小说 | 国产精品观看在线亚洲人成网 | 国产精品99久久99久久久二8 | 国产精品一区久久久久 | 在线观看av片 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 黄色小说网站在线 | 高清av不卡 | 97视频免费观看2区 亚洲视屏 | 亚洲精品 在线视频 | 综合影视 | 国产91丝袜在线播放动漫 | 91精品在线看 | 久 久久影院 | 精品久久久久国产 | 香蕉视频在线视频 | 久久9视频 | 国产涩涩在线观看 | 久久久久免费精品国产小说色大师 | 在线a视频免费观看 | 97热视频 | 又黄又刺激的视频 | 日韩视频中文字幕在线观看 | 4438全国亚洲精品观看视频 | 婷婷丁香综合 | 99久久99久久精品免费 | 国产自偷自拍 | 天堂在线免费视频 | 精品久久久久久久久久 | 日韩精品一区二区电影 | 在线视频你懂得 | 国产一级二级三级视频 | av免费福利| 亚洲精品小视频 | 最新国产精品亚洲 | 超碰大片| 日韩av线观看 | 午夜精品视频一区二区三区在线看 | 9999免费视频 | 国产1区2 | 日韩激情三级 | 国产在线免费av | 四虎在线观看网址 | 久99久在线 | 国产免费又爽又刺激在线观看 | 91欧美国产 | 五月婷婷丁香在线观看 | 日韩av片无码一区二区不卡电影 | 国产精品久久久久久久妇 | 日韩av电影中文字幕在线观看 | 亚洲人毛片| 成人久久久电影 | 国产欧美日韩精品一区二区免费 | 在线观看av的网站 | 久久免费精品 | 国产精品18videosex性欧美 | 97超碰人人爱 | 国产免费作爱视频 | 成人av动漫在线 | 六月色婷 | 久久免费大片 | 国产在线观看a | 美女黄网久久 | 欧美视频网址 | 18性欧美xxxⅹ性满足 | 欧美一区二区在线免费看 | 国产精品12| 热re99久久精品国产66热 | 97韩国电影| 91免费观看 | mm1313亚洲精品国产 | 国产裸体视频网站 | 国产在线色 | 午夜三级理论 | 国产123av | 精品视频在线观看 | 中文字幕在线免费看线人 | 国产精品第一页在线观看 | 粉嫩av一区二区三区四区在线观看 | 欧美精品久久久久久 | 91热视频 | 成年美女黄网站色大片免费看 | 国产三级香港三韩国三级 | 免费毛片aaaaaa | 欧美精品一区在线 | www.久久精品视频 | 国产日韩欧美精品在线观看 | 日本久久久久久久久 | 9999亚洲| 亚洲资源一区 | 一区在线免费观看 | 青青网视频 | 美女网站黄免费 | 婷婷成人综合 | 天堂av免费观看 | 成人性生交大片免费观看网站 | 亚洲国产网址 | 又色又爽又黄高潮的免费视频 | 国产日韩欧美在线免费观看 | 亚洲一区二区三区在线看 | 久久99久久99精品免观看粉嫩 | 国产精品 9999| 免费看精品久久片 | 天天曰天天干 | 亚洲精品永久免费视频 | 91av综合| 99精品在线观看 | 在线免费黄色毛片 | 国产一卡在线 | 久久影视网 | 天天天色综合a | 麻豆影音先锋 | 欧美乱码精品一区二区 | 中文字幕在线看人 | 欧美另类一二三四区 | 色午夜影院 | 久久久国产精品久久久 | av网站在线观看免费 | 狠狠干干 | 四虎免费在线观看视频 | 久久综合色一综合色88 | 黄色av播放 | 色婷婷激情四射 | 97av视频 | 国产又粗又猛又爽又黄的视频免费 | 欧美va日韩va| 久久综合色婷婷 | 欧美国产一区在线 | 天天操,夜夜操 | 婷婷丁香激情 | 在线欧美小视频 | 国产免费作爱视频 | 国产成人精品在线 | 九九色综合 | 久久免费视频4 | 久久美女视频 | 狠狠干 狠狠操 | 在线观看黄色免费视频 | 婷婷综合av| 久久五月激情 | 精品在线免费视频 | 玖玖精品视频 | 色九九在线 | 一区二区av | 狠狠色丁香婷婷综合久小说久 | 国产精品美女久久久久久久网站 | 久久综合99 | 五月综合网| 免费在线观看一区 | 国产精成人品免费观看 | 色就色,综合激情 | 国产无套精品久久久久久 | 亚洲成人午夜在线 | 日韩欧美视频一区二区 | 久久综合久久久久88 | 免费在线观看成人 | 婷婷开心久久网 | 欧女人精69xxxxxx | 久久九九网站 | 免费视频一级片 | 国产一级免费在线 | 午夜av电影院 | 亚洲精品久久激情国产片 | 国产伦精品一区二区三区无广告 | 超碰人人做 | 99r在线| 欧美综合久久久 | 日日日干| 99成人精品 | 国产精品入口a级 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 最新免费av在线 | 日韩在线观看三区 | 韩国在线视频一区 | 久久综合亚洲鲁鲁五月久久 | 91福利在线观看 | 国产在线一线 | 一区二区三区视频在线 | 黄色小说网站在线 | av在线之家电影网站 | 爱爱av网| 亚洲成人中文在线 | 亚洲精品中文在线 | 欧美一级性视频 | 十八岁免进欧美 | 国产网红在线 | 亚洲国产精品va在线看 | 国产一区网| 久久99精品久久久久久久久久久久 | 欧美小视频在线观看 | 国内精品久久久久久中文字幕 | 久久成人国产精品一区二区 | 日韩黄色免费在线观看 | 97超碰中文 | 天天噜天天色 | 欧美91片| 久久久国产毛片 | 国内精品久久久久影院一蜜桃 | 国产 av 日韩 | a久久久久| 2019久久精品 | 精品久久久久国产免费第一页 | 国产精品女主播一区二区三区 | 久草在线视频免费资源观看 | 久久久久99999 |