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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

luogu P3293 [SCOI2016]美味

發布時間:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 luogu P3293 [SCOI2016]美味 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳送門

異或最大值應該是要用\(trie\)樹,從高位往低位貪心,雖然這里詢問區間的數都要加上\(x\),但是仍然可以利用這個思想

從高往低位考慮,我們要找一個加上\(x\)后當前二進制位\(j\)不等于\(b\)的當前位的數,假設\(b\)當前位為0,我們就要現在找個數加上\(x\)后當前位\(j\)為1,記之前選出的數為\(ans\),那么我們就要找一個在\([ans+(1<<j)-x,ans+(1<<j)-(1<<j)-1-x]\)區間內的數;如果\(b\)當前位為1,那么取值范圍為\([ans-x,ans-(1<<j)-1-x]\).如果有這個數,那么\(ans\)當前位\(j\)就可以等于\(b\)當前位\(xor\ 1\),否則就反過來

這個操作可以用主席樹查詢某區間的數出現次數的操作實現

#include<bits/stdc++.h> #define LL long long #define il inline #define re register #define db double #define eps (1e-7)using namespace std; const int N=500000+10; const LL inf=1ll<<45; il LL rd() {re LL x=0,w=1;re char ch=0;while(ch<'0'||ch>'9') {if(ch=='-') w=-1;ch=getchar();}while(ch>='0'&&ch<='9') {x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}return x*w; }#define mid ((l+r)>>1)int s[N*20],ch[N*20][2],rt[N],tt; int n,m,kk,L,R,a[N]; il void inst(int p) {rt[p]=++tt;int o1=rt[p],o2=rt[p-1],l=0,r=n;s[o1]=s[o2]+1;do{if(a[p]<=mid){ch[o1][0]=++tt,ch[o1][1]=ch[o2][1];o1=ch[o1][0],o2=ch[o2][0],r=mid;}else{ch[o1][0]=ch[o2][0],ch[o1][1]=++tt;o1=ch[o1][1],o2=ch[o2][1],l=mid+1;}s[o1]=s[o2]+1;}while(l<r); } int quer(int o1,int o2,int l,int r,int ll,int rr) {if(ll<=l&&r<=rr) return s[o1]-s[o2];int an=0;if(ll<=mid) an+=quer(ch[o1][0],ch[o2][0],l,mid,ll,rr);if(rr>mid) an+=quer(ch[o1][1],ch[o2][1],mid+1,r,ll,rr);return an; } bool ok(int l,int r,int ll,int rr) {ll=max(ll,0),rr=min(rr,n);return ll<=rr?quer(rt[r],rt[l-1],0,n,ll,rr):0; } int q;int main() {///no O2m=rd(),q=rd();for(int i=1;i<=m;i++) n=max(n,a[i]=rd());for(int i=1;i<=m;i++) inst(i);while(q--){int b=rd(),x=rd(),ll=rd(),rr=rd(),ans=0;for(int i=17;i>=0;i--){int nw=ans|(((b>>i&1)^1)<<i);if(ok(ll,rr,nw-x,nw+(1<<i)-1-x)) ans=nw;else ans|=(b>>i&1)<<i;}printf("%d\n",ans^b);}return 0; }

轉載于:https://www.cnblogs.com/smyjr/p/9739276.html

總結

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

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

主站蜘蛛池模板: 精品人妻少妇嫩草av无码 | 国内成人免费视频 | 男人影院在线 | 一级黄色性生活片 | 亚洲三级图片 | 国产性生活毛片 | 亚洲欧美日韩图片 | 国产精品久久免费视频 | 欧美精品小视频 | av在线网址观看 | 在线视频欧美亚洲 | 人人澡人人插 | 香蕉视频入口 | 日本美女毛茸茸 | 精品午夜视频 | av色区| 免费观看黄色小视频 | 精品一区二区免费 | 一级黄色片一级黄色片 | 午夜寂寞影院在线观看 | 国产色秀 | 日本大尺度吃奶做爰久久久绯色 | 中文字幕一区二区三区不卡 | 在线免费看污网站 | 日本在线中文字幕专区 | 国产精品视频你懂的 | 麻豆福利影院 | 亚洲AV无码成人片在线观看 | 日韩xxx视频 | 国产999在线观看 | wwwwxxxx国产 | 日韩三级在线免费观看 | 51精产品一区一区三区 | 超碰爱爱| 亚洲AV无码AV吞精久久中文版 | 五月婷在线 | 伊人中文字幕 | 日日摸夜夜| 98精品视频 | 91国内在线 | 久久久久亚洲av成人无码电影 | 伊人网视频在线观看 | 欧美色妞网 | 免费精品一区 | 黄色91| 男人天堂v| 国产aaaaaaa | xxxx在线视频 | 中文字幕精品一区久久久久 | 97se在线视频| 久久久久久久综合色一本 | 在线免费不卡视频 | av高清一区| 99免费精品 | 91在线看视频 | 日韩在线观看免费 | 亚洲日本精品视频 | 91av视频在线播放 | av中文字幕亚洲 | 日韩国产成人无码av毛片 | 色骚网| 人人草av | 一区二区三区免费播放 | 欧美日韩一区二区视频观看 | 狠狠干综合网 | 男人的天堂2019 | 自拍偷拍亚洲综合 | 久久99精品国产麻豆91樱花 | 成人精品视频一区二区三区尤物 | 久久国产成人精品国产成人亚洲 | 免费视频爱爱太爽 | 99色亚洲 | 三级国产视频 | 免费成人黄色av | 2019中文字幕在线视频 | 2023毛片 | 色哟哟在线观看 | 久久久九九 | 欧美日韩1区2区 | www.久久色 | 黄色一级免费视频 | 一区二区三区免费观看 | 久久久精品国产 | 少妇又紧又深又湿又爽视频 | 国产三级一区二区三区 | 人妻一区二区三区 | 国产精品无码毛片 | 欧美怡春院 | 强睡邻居人妻中文字幕 | 日韩精彩视频在线观看 | 免费黄色小网站 | 无码精品人妻一区二区三区漫画 | 精品国产乱码久久久久久1区2区 | 色婷婷精品 | 视频一区二区欧美 | 日本三级大全 | 69er小视频 | 伊人色综合久久久 | 国产乱码在线 |