日韩性视频-久久久蜜桃-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【贪心,树状数组】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本中文字幕在线观看视频 | 国产最新地址 | 黑人操亚洲人 | 色婷婷基地 | 国产69精品久久 | 国产一区二区视频在线免费观看 | 九九色精品| 懂色av中文一区二区三区天美 | 韩国三级在线播放 | 在线爽 | 久久天堂| 丁香六月色婷婷 | 色老头在线一区二区三区 | 看a网站 | 超碰青草| av免费观| 午夜视频黄色 | 91高清在线免费观看 | 日本黄色a视频 | 国产美女主播在线 | 黑人一级大毛片 | 中文字幕第99页 | 国产免费av片在线 | 亚洲精品国产99 | 在线看黄网站 | 日韩人妻精品无码一区二区三区 | 日韩视频中文 | 色欧美88888久久久久久影院 | 无码人妻久久一区二区三区 | 亚洲人性生活视频 | 国内免费毛片 | а√天堂www在线天堂小说 | 都市激情 亚洲 | 91久久电影 | 天天做天天爱天天操 | a在线天堂 | 国产精品一二区 | 精品久久免费观看 | 久久精品国产视频 | 国产精品美女www爽爽爽 | 亲女禁h啪啪宫交 | 日韩a√ | 波多野结衣av在线播放 | 亚洲第5页| 亚洲视频在线观看免费视频 | 久久久久无码国产精品 | 欧美性生活网址 | 日韩一区二区免费看 | 亚洲成人黄色小说 | 巨大胸大乳奶电影 | 美女久久精品 | 欧美8888| 国产精品综合一区二区 | 亚洲制服丝袜av | 久久久久久一 | 特级一级黄色片 | 超碰在线看 | 国产成人在线观看免费网站 | 99ri在线| 欧洲中文字幕日韩精品成人 | www色网 | 欧美三级在线播放 | 丁香花五月天 | 毛片com | 国产精品888 | 欧美综合网站 | 性猛交xxxx乱大交3 | 亚洲专区区免费 | caoprom97| 国产一区二区在线视频 | 岛国中文字幕 | 老熟女重囗味hdxx69 | 少妇高潮毛片色欲ava片 | 91成人在线观看喷潮 | 日本一区二区免费看 | 国产精品精 | 日韩欧美激情在线 | 日穴视频| 国产免费叼嘿网站免费 | 69视频一区二区 | av小说在线观看 | 亚洲色成人网站www永久四虎 | 国产人妻精品久久久久野外 | 久草免费资源 | 四虎国产成人永久精品免费 | 国产中文字幕一区二区三区 | 夜夜视频 | 国产高清视频免费观看 | av久色| 国产欧美中文字幕 | 色噜噜噜 | 久久97视频| 日本精品一区二区三区四区的功能 | 国产精品12区| 激情六月天婷婷 | 国产又黄视频 | 日韩精品视频免费播放 | 国产成人精品在线视频 | 淫品色影院 |