日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

编程问答

bzoj4184

發布時間:2024/4/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj4184 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題解:

按時間分治線段樹

然后線性基維護一下就好了

嘗試了一下循環展開并沒有什么效果

代碼:

#include <bits/stdc++.h> using namespace std; const int N=5e5+10; const int mo=N*6; int n,m,ph[N*4],pt[N*4],f[N*7],g[N*7],ans2[N]; int dy[50][35]; vector<int> ve[N*4]; #define rint register int #define IL inline char ss[1<<20],*A=ss,*B=ss; IL char gc(){return A==B&&(B=(A=ss)+fread(ss,1,1<<20,stdin),A==B)?EOF:*A++;} template<class T> void read(T&x){rint f=1,c;while (c=gc(),c<48||57<c) if (c=='-') f=-1;x=c^48;while (c=gc(),47<c&&c<58) x=(x<<3)+(x<<1)+(c^48);x*=f; } IL void insert(int x,int y) {int xx=x%mo;while (f[xx]) xx++;f[xx]=x; g[xx]=y; } IL int find(int x) {int xx=x%mo;while (f[xx]!=x) xx++;return(xx); } #define mid ((ph[x]+pt[x])/2) void build(int x,int h,int t) {ph[x]=h; pt[x]=t;if (h==t) return;build(x*2,h,mid); build(x*2+1,mid+1,t); } void insert2(int x,int h,int t,int k) {if (h<=ph[x]&&pt[x]<=t){ve[x].push_back(k);return;}if (h<=mid) insert2(x*2,h,t,k);if (mid<t) insert2(x*2+1,h,t,k); } void dfs(int x,int cnt) {for (rint i=0;i<=30;i++) dy[cnt][i]=dy[cnt-1][i];rint len=ve[x].size();for (rint i=0;i<=len/4;i++){if (i*4>=len) break;rint y1=ve[x][i*4],y2=ve[x][i*4+1],y3=ve[x][i*4+2],y4=ve[x][i*4+3];for (rint i1=30;i1>=0;i1--)if (y1&(1<<i1))if (!dy[cnt][i1]){dy[cnt][i1]=y1; break;} else y1^=dy[cnt][i1];if (i*4+1>=len) break; for (rint i2=30;i2>=0;i2--)if (y2&(1<<i2))if (!dy[cnt][i2]){dy[cnt][i2]=y2; break;} else y2^=dy[cnt][i2];if (i*4+2>=len) break;for (rint i3=30;i3>=0;i3--)if (y3&(1<<i3))if (!dy[cnt][i3]){dy[cnt][i3]=y3; break;} else y3^=dy[cnt][i3];if (i*4+3>=len) break; for (rint i4=30;i4>=0;i4--)if (y4&(1<<i4))if (!dy[cnt][i4]){dy[cnt][i4]=y4; break;} else y4^=dy[cnt][i4];}if (ph[x]==pt[x]){rint ans=0;for (rint i=30;i>=0;i--)if (dy[cnt][i]&&!(ans&(1<<i))) ans^=dy[cnt][i];ans2[ph[x]]=ans;return;}dfs(x*2,cnt+1); dfs(x*2+1,cnt+1); } int main() {freopen("4184.in","r",stdin);freopen("4184.out","w",stdout);read(n);build(1,1,n);for (int i=1;i<=n;i++){int x;read(x);if (x<0){int y=find(-x);insert2(1,g[y],i-1,-x);f[y]=0; g[y]=0;} else{insert(x,i);}}for (rint i=1;i<=N*7-10;i++)if (f[i]){insert2(1,g[i],n,f[i]);}dfs(1,1);for (int i=1;i<=n;i++)printf("%d\n",ans2[i]);return 0; }

?

轉載于:https://www.cnblogs.com/yinwuxiao/p/9048428.html

總結

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

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

主站蜘蛛池模板: av久操| 精品无码人妻一区二区免费蜜桃 | 四虎成人影视 | 熟女少妇一区二区三区 | av毛片精品| 亚洲性大片 | 中文字幕第88页 | 精品久久久久一区二区 | 日韩精品久久一区 | 15p亚洲| 一区二区三区免费看视频 | 91免费国产视频 | 亚洲女人天堂网 | 成人欧美一区二区三区在线观看 | 亚洲女人18毛片水真多 | 日美女网站 | 天堂视频在线 | 99热超碰| 九色视频91| 日韩久久久久久 | 综合爱爱网 | 国产3p在线播放 | 亚洲av无码乱码国产麻豆 | 四虎成人av | 草草影院av | 国产喷水吹潮视频www | 亚洲美女性视频 | 天堂综合在线 | 日韩视频免费观看高清 | 国产精品无码内射 | 超碰97色 | 精品国产中文字幕 | 免费av入口 | 欧美日韩久 | 国产乱人乱偷精品视频 | 妞干网精品| 欧美色图亚洲自拍 | 国内精品卡一卡二卡三 | 久久国产精品99久久人人澡 | av观看网| 国产精品久久久 | 欧美精品aa | 亚洲色图第三页 | 谁有毛片网站 | 美女免费福利视频 | 香蕉综合在线 | 成人激情综合 | 成人在线电影网站 | 在线观看欧美亚洲 | 激情开心站 | 亚洲色在线视频 | 天天舔夜夜操 | 波多野结衣久久精品 | 男女黄色片 | 一区二区在线免费观看视频 | 五月天婷婷网站 | av不卡在线观看 | 久久久久久久久久一区 | 国产一区二区黄 | 亚洲国产日韩一区 | 亚洲免费av一区二区 | 成年人在线播放视频 | 老头糟蹋新婚少妇系列小说 | 国产偷人妻精品一区 | 亲嘴扒胸摸屁股免费视频日本网站 | 丝袜 中出 制服 人妻 美腿 | 久操不卡 | 成人青青草 | 欧美黄色免费在线观看 | 四虎在线影院 | 91网站永久免费看nba视频 | 骚婷婷 | 国产日b视频 | 日韩一二三四 | 午夜激情福利 | 91视频这里只有精品 | 中文字幕在线观看av | 黑人操日本女人视频 | 欧美一级久久久 | 日本黄色小说 | 青青草福利视频 | 99精彩视频 | 成人不卡视频 | 性欧美熟妇videofreesex | h片在线免费 | 国产成人无码精品久久久久久 | 韩国电影一区二区三区 | 男女视频免费 | 动漫av在线免费观看 | 一级黄色a | www色中色| 色女人影院 | 亚洲黄色片免费看 | 艳妇乳肉豪妇荡乳av | 97干视频 | 亚洲a中文字幕 | 一级特黄妇女高潮2 | 国产欧美综合视频 | 红桃视频隐藏入口 |