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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

P7408-[JOI 2021 Final]ダンジョン 3【贪心,树状数组】

發布時間:2023/12/3 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P7408-[JOI 2021 Final]ダンジョン 3【贪心,树状数组】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正題

題目鏈接:https://www.luogu.com.cn/problem/P7408


題目大意

一個有n+1n+1n+1層的地牢,從iiii+1i+1i+1層要AiA_iAi?點能量,第iii層可以花費BiB_iBi?獲得111點能量。

mmm次詢問從SiS_iSi?層出發到第TiT_iTi?層在能量上限為UiU_iUi?的情況下至少需要花費多少。

1≤n,m≤2×1051\leq n,m\leq 2\times 10^51n,m2×105


解題思路

模型可以轉換成坐標軸上有nnn個點,第iii個在AiA_iAi?,考慮使用一個點獲得的能量走的路就是這個點伸出的線覆蓋的范圍,然后使得范圍乘上BiB_iBi?的和最小。

考慮能量上限的限制其實就是每個點覆蓋的范圍不能超過自身的UiU_iUi?格。

考慮一個點覆蓋范圍根據UiU_iUi?變化的變化:

  • 沒有其他影響,自己正常延伸,此時覆蓋范圍為一個和UiU_iUi?有關的一次函數
  • 延伸到下一個比自己大的位置,不能繼續延伸,此時為一個常數
  • 上一個比自己小的數延伸過來,此時為一個單調下降的一次函數
  • 完全被上一個比自己小的覆蓋,此時為000

也就是意味著每個點只需要考慮前后兩個比自己小的數分成若干種情況即可。

考慮倒序枚舉點,然后用樹狀數組記錄一次項系數的和與二次項系數的和。

對于結尾的限制,我們找到能到達終點的最后的點直接走向它,然后減去那個點的貢獻即可。

時間復雜度O(nlog?n)O(n\log n)O(nlogn)


code

#include<cstdio> #include<cstring> #include<algorithm> #include<vector> #include<stack> #define ll long long #define lowbit(x) (x&-x) using namespace std; const ll N=2e5+10,inf=1e18; struct node{ll l,r,u; }q[N]; ll n,m,a[N],b[N],s[N],ans[N]; ll cnt,u[N],nxt[N],pre[N]; ll f[N][20],g[N][20],lg[N]; vector<ll> d[N],v[N]; stack<ll> st; ll rmqf(ll l,ll r){ll z=lg[r-l+1];l=f[l][z];r=f[r-(1<<z)+1][z];return (b[l]<b[r])?l:r; } ll rmqg(ll l,ll r){ll z=lg[r-l+1];l=g[l][z];r=g[r-(1<<z)+1][z];return (a[l]>a[r])?l:r; } struct TreeBinary{ll t[N];void Updata(ll x,ll val){while(x<=cnt){t[x]+=val;x+=lowbit(x);}return;}ll Ask(ll x){ll ans=0;while(x){ans+=t[x];x-=lowbit(x);}return ans;}void Change(ll l,ll r,ll val){if(l>r)return;l=lower_bound(u+1,u+1+cnt,l)-u;r=upper_bound(u+1,u+1+cnt,r)-u;Updata(l,val);Updata(r,-val);return;} }K,B; signed main() {scanf("%lld%lld",&n,&m);for(ll i=1;i<=n;i++)scanf("%lld",&a[i]),s[i+1]=s[i]+a[i];for(ll i=1;i<=n;i++)scanf("%lld",&b[i]);for(ll i=2;i<=n+1;i++)lg[i]=lg[i>>1]+1;for(ll i=1;i<=n+1;i++)f[i][0]=g[i][0]=i;for(ll j=1;(1<<j)<=n+1;j++)for(ll i=1;i+(1<<j)-1<=n+1;i++){ll x=f[i][j-1],y=f[i+(1<<j-1)][j-1];f[i][j]=(b[x]<b[y])?x:y;x=g[i][j-1];y=g[i+(1<<j-1)][j-1];g[i][j]=(a[x]>a[y])?x:y;}for(ll i=n;i>=1;i--){while(!st.empty()&&b[i]<=b[st.top()]){pre[st.top()]=i;st.pop();}if(st.empty())nxt[i]=n+1;else nxt[i]=st.top();st.push(i);}for(ll i=1;i<=m;i++){scanf("%lld%lld%lld",&q[i].l,&q[i].r,&q[i].u);u[i]=q[i].u;ll las=lower_bound(s+1,s+1+n,s[q[i].r]-u[i])-s;las=min(las,q[i].r-1);las=max(min(las,q[i].r-1),q[i].l);las=rmqf(las,q[i].r-1);v[q[i].l].push_back(i);v[las].push_back(-i);ans[i]+=(s[q[i].r]-s[las])*b[las];}sort(u+1,u+1+m);cnt=unique(u+1,u+1+m)-u-1;for(ll i=n;i>=1;i--){K.Change(0,s[nxt[i]]-s[i],b[i]);B.Change(s[nxt[i]]-s[i]+1,inf,b[i]*(s[nxt[i]]-s[i]));d[pre[i]].push_back(i);for(ll j=0;j<d[i].size();j++){ll x=d[i][j];K.Change(s[x]-s[i],s[nxt[x]]-s[i],-b[x]);B.Change(s[x]-s[i],s[nxt[x]]-s[i],b[x]*(s[x]-s[i]));B.Change(s[nxt[x]]-s[i]+1,inf,-b[x]*(s[nxt[x]]-s[x]));}for(ll j=0;j<v[i].size();j++){ll x=v[i][j],op=1;if(x<0)x=-x,op=-op;ll w=lower_bound(u+1,u+1+cnt,q[x].u)-u;ans[x]+=op*(q[x].u*K.Ask(w)+B.Ask(w));}}for(ll i=1;i<=m;i++){if(a[rmqg(q[i].l,q[i].r-1)]>q[i].u)puts("-1");else printf("%lld\n",ans[i]);}return 0; }

總結

以上是生活随笔為你收集整理的P7408-[JOI 2021 Final]ダンジョン 3【贪心,树状数组】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲中文一区二区三区 | 狠狠婷婷 | 亚洲精品中文字幕在线 | av资源在线看 | 精品国产乱码久久久久久图片 | 用力使劲高潮了888av | 性欧美videossex精品 | 亚洲一线二线在线观看 | 久久99精品久久久久久园产越南 | 九九九九色 | 日韩精品系列 | 中文在线а√在线8 | 高清性爱视频 | 1000部拍拍拍18勿入免费视频 | 日韩精品中文字幕一区二区三区 | 中国zzji女人高潮免费 | 风流还珠之乱淫h文 | 香蕉视频网页 | 亚洲乱码视频在线观看 | 熟女一区二区三区视频 | 天堂аⅴ在线最新版在线 | 亚洲人在线| 久久99精品久久久 | 亚洲欧美另类在线视频 | 五月婷婷丁香在线 | 欧美成人免费看 | 日本啪啪啪一区二区 | 97香蕉久久超级碰碰高清版 | 97少妇| 中文字幕不卡一区 | 能免费看av的网站 | 欧美成人看片黄a免费看 | av影片在线观看 | 国产视频九色蝌蚪 | 久久精品综合视频 | 久草播放 | 亚洲av无码专区首页 | a在线 | 国产女大学生av | 美女露胸软件 | 人人综合 | 久草黄色 | 高h乱l高辣h文短篇h | 成人免费性生活视频 | 办公室摸腿吻胸激情视频 | 日韩影视一区二区三区 | 亚洲精品97久久中文字幕无码 | 欧美一a | 亚洲成人第一 | 国产夫妻性生活视频 | 青青草在线视频免费观看 | 亚洲AV无码成人精品一区 | 性歌舞团一区二区三区视频 | 六月丁香婷婷网 | 中文字幕日韩电影 | 美国爱爱视频 | 国产青青草视频 | 国产成人无码精品久久二区三 | 中文字幕免费在线视频 | 波多野结衣高清电影 | 国产女主播在线一区二区 | 日韩欧美爱爱 | 国产欧美亚洲一区 | 欧美视频a | 日韩精品第一页 | 国产高清片| 欧美性生交xxxxx久久久 | 日韩一区二区三区在线播放 | 99精品乱码国产在线观看 | 久久天天 | 成人免费视频网站在线观看 | 日韩五码电影 | 精品一区视频 | 精品国产av一区二区 | xxxx 国产| 制服诱惑一区二区三区 | 日韩少妇视频 | 亚洲综合社区 | 久久发布国产伦子伦精品 | 日本三级日本三级日本三级极 | 欧美性猛交xxxⅹ富婆 | 自拍视频一区二区 | 国产免费视频 | 久久久国产精品视频 | www视频免费观看 | www污污 | 欧美一区二区三区黄片 | 全部免费毛片在线播放 | 性一区| 天天天操| 久久精品一日日躁夜夜躁 | av生活片 | 久久久久一 | 麻豆av一区二区 | 一级草逼片 | 牛牛av| 中文字幕日韩在线视频 | 人人爽人人做 | 尤物一区 |