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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JZOJ 5402. 【NOIP2017提高A组模拟10.8】God Knows

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 5402. 【NOIP2017提高A组模拟10.8】God Knows 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

Input

Output

Sample Input

5
3 1 4 5 2
3 4 3 4 1

Sample Output

5

Data Constraint

Solution

  • 很容易想到 O(N2) DP。

  • f[i] 表示當最后一個選 i 為最優答案時的最小代價。

  • 枚舉符合條件的 j 轉移即可。

  • 考慮優化 DP 。

  • (p[i],i) 放到坐標系里,如下圖:

  • i 從小到大的順序加入,那么對于一個 i 能夠轉移的 j

  • 顯然就是這個點左邊部分單調下降的一行點。

  • 即以這個點 j 為左下角、點 i 為右上角的矩形中間沒有其他點。

  • 如上圖,對于黃色的點,能轉移的點就是綠色和藍色的點。

  • 那么這就是經典的線段樹維護單調棧的問題。

  • 記錄一個 mn=find(l,mid,rmx) ,那么區間的答案就是

    min(mn,find(mid+1,r,rmx))

  • 這樣就能保證時間復雜度為 O(N?log2N)

Code

#include<cstdio> #include<cctype> using namespace std; const int N=2e5+5,inf=1e9; struct data {int mx,mn; }g[N<<2]; int rmx,qx,qy,ans=inf; int p[N],c[N],f[N]; inline int read() {int X=0,w=0; char ch=0;while(!isdigit(ch)) w|=ch=='-',ch=getchar();while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();return w?-X:X; } inline int max(int x,int y) {return x>y?x:y; } inline int min(int x,int y) {return x<y?x:y; } int calc(int v,int l,int r,int val) {if(g[v].mx<val) return inf;if(l==r) return g[v].mx>val?f[g[v].mx]:inf;int mid=l+r>>1;if(g[v<<1|1].mx<val) return calc(v<<1,l,mid,val);return min(g[v].mn,calc(v<<1|1,mid+1,r,val)); } int find(int v,int l,int r,int x,int y) {if(x<=l && r<=y){int num=calc(v,l,r,rmx);rmx=max(rmx,g[v].mx);return num;}int mid=l+r>>1;if(y<=mid) return find(v<<1,l,mid,x,y);if(x>mid) return find(v<<1|1,mid+1,r,x,y);int num=find(v<<1|1,mid+1,r,mid+1,y);return min(num,find(v<<1,l,mid,x,mid)); } void change(int v,int l,int r) {if(l==r){g[v].mx=qy;return;}int mid=l+r>>1;if(qx<=mid) change(v<<1,l,mid); else change(v<<1|1,mid+1,r);g[v].mn=calc(v<<1,l,mid,g[v<<1|1].mx);g[v].mx=max(g[v<<1].mx,g[v<<1|1].mx); } int main() {int n=read();for(int i=1;i<=n;i++) p[i]=read();for(int i=1;i<=n;i++) c[i]=read();for(int i=1;i<=n<<2;i++) g[i].mn=inf;for(int i=1;i<=n;i++){rmx=0;int num=find(1,1,n,1,p[i]);f[i]=(num<inf?num:0)+c[i];qx=p[i],qy=i;change(1,1,n);}for(int i=n,num=0;i;i--)if(p[i]>num) num=p[i],ans=min(ans,f[i]);printf("%d",ans);return 0; }

總結

以上是生活随笔為你收集整理的JZOJ 5402. 【NOIP2017提高A组模拟10.8】God Knows的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 动漫av在线播放 | 国产高清在线免费观看 | jizz日本在线 | 久草热在线观看 | 打屁股调教视频 | 成年人免费在线观看视频网站 | 少妇久久精品 | 天天射日日操 | 欧美无砖砖区免费 | 亚洲婷婷免费 | 性生交大片免费看l | 色婷婷婷婷色 | 老太婆av | av网站不卡 | 九一亚色 | 草草福利视频 | 亚洲一区高清 | 成人小视频免费在线观看 | 999久久久久久 | 黑人av | 开心激情久久 | 国产人成一区二区三区影院 | 91视色 | 色婷婷av国产精品 | 国产黑丝91 | 在线不卡二区 | 亚洲欧洲在线观看 | 欧美久久久久久久久久久久 | 美国美女黄色片 | 黄色女女 | 国产成人精品视频在线 | 瑟瑟视频在线看 | 无码av天堂一区二区三区 | 姐姐你真棒插曲快来救救我电影 | 天堂在线中文8 | 97超碰人人草 | 色av导航| 99久久夜色精品国产亚洲 | 成人黄色激情视频 | 成人av在线看 | 国产视频一区三区 | 69精品久久| 日本大尺度做爰呻吟 | 欧美精彩视频 | 国产999久久久 | 肉丝美脚视频一区二区 | 国产一区二区三区影院 | 美女被揉胸视频 | 日韩一区久久 | 欧美精品videos另类日本 | 毛片aaaaaa| 久久不卡视频 | 好紧好爽再浪一点视频 | 久久国产免费 | av在线不卡播放 | 一区二区三区视频免费在线观看 | 免费网站91 | 一级片在线免费观看视频 | 中国美女黄色一级片 | 久久精品视频偷拍 | 苍井空张开腿实干12次 | 国产三级三级看三级 | 在线观看日韩国产 | 成人污污视频 | 欧美男人亚洲天堂 | 国产精品99 | 日韩欧美午夜 | 污黄视频在线观看 | 欧美日韩中出 | jizz毛片 | 免费在线一级片 | av导航大全| 涩涩视频免费观看 | 99热只有这里有精品 | 精品人妻一区二区三区四区在线 | 麻豆av一区二区三区久久 | 国产高清色| 日本久久一区 | 国产精品国产精品国产专区不片 | 精品美女久久久久 | 女上男下动态图 | 欧美a级在线 | 六月丁香婷婷网 | 乌克兰极品av女神 | 亚洲自拍电影 | 国产新婚疯狂做爰视频 | 成年人视频网站 | av网站大全在线 | 亚洲黄色在线观看 | 国产成人一区二区三区别 | 日日夜夜2017 | 亚洲精品高清在线 | 日韩伊人| 欧美在线精品一区二区三区 | 欧美情侣性视频 | 欧美在线资源 | 国产精品久久久久久久免费看 | 特大黑人巨人吊xxxx | 精品久久久久久无码中文野结衣 |