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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

洛谷2766:[网络流24题]最长不下降子序列问题——题解

發(fā)布時(shí)間:2025/4/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷2766:[网络流24题]最长不下降子序列问题——题解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

https://www.luogu.org/problemnew/show/P2766

給定正整數(shù)序列x1,...,xn 。

(1)計(jì)算其最長(zhǎng)不下降子序列的長(zhǎng)度s。

(2)計(jì)算從給定的序列中最多可取出多少個(gè)長(zhǎng)度為s的不下降子序列。

(3)如果允許在取出的序列中多次使用x1和xn,則從給定序列中最多可取出多少個(gè)長(zhǎng)度為s的不下降子序列。

第一問(wèn)用dp求解不多說(shuō)了。

考慮第二問(wèn),每個(gè)數(shù)只用一次很好辦,把數(shù)拆點(diǎn)(入點(diǎn)和出點(diǎn))中間連邊權(quán)為1的邊即可。

現(xiàn)在的問(wèn)題就是如何讓它能夠跑滿s個(gè)點(diǎn)。

我們?cè)O(shè)dp[i]表示以x[i]元素結(jié)尾的最長(zhǎng)不下降子序列的長(zhǎng)度,則。

顯然dp[i]==s的時(shí)候我們掃到了一個(gè)合法解,我們i出點(diǎn)與匯點(diǎn)連邊權(quán)為1的邊。

那么在他前面的dp[j]==s-1且x[j]<=x[i]的說(shuō)明合法解可以包含x[j]。所以j出點(diǎn)和i入點(diǎn)連邊權(quán)為1的邊。

那么dp[i]==1的i的入點(diǎn)就可以和S連邊權(quán)為1的邊。

跑網(wǎng)絡(luò)流即可得到(2)答案。

至于(3),將和1和n有關(guān)的邊都改成INF即可。

#include<cstdio> #include<cmath> #include<iostream> #include<vector> #include<cstring> #include<algorithm> #include<cctype> using namespace std; const int N=2001; const int M=800001; const int INF=1e9; 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; } struct node{int nxt,to,w; }edge[M]; int head[N],cnt=-1,S,T; inline void add(int u,int v,int w){edge[++cnt].to=v;edge[cnt].w=w;edge[cnt].nxt=head[u];head[u]=cnt;edge[++cnt].to=u;edge[cnt].w=0;edge[cnt].nxt=head[v];head[v]=cnt; } int lev[N],cur[N],dui[N]; bool bfs(int m){int r=0;for(int i=1;i<=m;i++){lev[i]=-1;cur[i]=head[i];}dui[0]=S,lev[S]=0;int u,v;for(int l=0;l<=r;l++){u=dui[l];for(int e=head[u];e!=-1;e=edge[e].nxt){v=edge[e].to;if(edge[e].w>0&&lev[v]==-1){ lev[v]=lev[u]+1;r++;dui[r]=v; if(v==T)return 1; }}}return 0; } int dinic(int u,int flow,int m){if(u==m)return flow;int res=0,delta;for(int &e=cur[u];e!=-1;e=edge[e].nxt){int v=edge[e].to;if(edge[e].w>0&&lev[u]<lev[v]){ delta=dinic(v,min(edge[e].w,flow-res),m); if(delta>0){edge[e].w-=delta;edge[e^1].w+=delta;res+=delta;if(res==flow)break; }}}if(res!=flow)lev[u]=-1;return res; } int dp[N],a[N]; int main(){memset(head,-1,sizeof(head));int n=read();for(int i=1;i<=n;i++){a[i]=read();dp[i]=1;}int s=0;S=2*n+1,T=S+1;for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++)if(a[i]<=a[j])dp[j]=max(dp[j],dp[i]+1);s=max(s,dp[i]);}printf("%d\n",s);for(int i=1;i<=n;i++){add(i,i+n,1);if(dp[i]==1)add(S,i,1);if(dp[i]==s)add(i+n,T,1);for(int j=i+1;j<=n;j++){if(a[i]<=a[j]&&dp[j]==dp[i]+1)add(i+n,j,1);}}int ans=0;while(bfs(T))ans+=dinic(S,INF,T);printf("%d\n",ans);add(1,1+n,INF);add(n,n+n,INF);if(dp[1]==1)add(S,1,INF);if(dp[n]==s)add(n+n,T,INF);while(bfs(T))ans+=dinic(S,INF,T);printf("%d\n",ans);return 0; }

+++++++++++++++++++++++++++++++++++++++++++

?+本文作者:luyouqi233。               +

?+歡迎訪問(wèn)我的博客:http://www.cnblogs.com/luyouqi233/+

+++++++++++++++++++++++++++++++++++++++++++

轉(zhuǎn)載于:https://www.cnblogs.com/luyouqi233/p/8490314.html

總結(jié)

以上是生活随笔為你收集整理的洛谷2766:[网络流24题]最长不下降子序列问题——题解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产喷白浆一区二区三区 | 黑人巨大精品 | 香蕉久久精品日日躁夜夜躁 | 国产又粗又猛又爽又黄的视频一 | 五月天婷婷在线观看 | 欧美tickle狂笑裸体vk | 精品视频一区二区三区四区 | 亚洲剧情在线 | 韩国黄色片网站 | 中文字幕一区二区免费 | 成人羞羞国产免费游戏 | 国产 日韩 欧美 综合 | 99热国| 97精品一区二区 | 另类一区 | 制服诱惑一区二区 | 中文字幕日韩欧美一区二区三区 | 经典杯子蛋糕日剧在线观看免费 | 舐丝袜脚视频丨vk | 青娱乐国产在线 | 欧美精品免费在线观看 | 日日操日日操 | 天堂在线一区二区 | 日韩三级中文 | 国产香蕉97碰碰碰视频在线观看 | 黄色网址链接 | 国产sm调教一区二区 | www.av在线播放 | 日韩欧美一二三四区 | 91在线在线 | 黄色网免费 | 国产精品毛片久久久久久久 | 免费99精品国产自在在线 | 成人国产视频在线观看 | 欧美成人a交片免费看 | 懂色av蜜臀av粉嫩av分享吧最新章节 | 一区二区在线看 | 久久传媒| 免费又黄又爽又色的视频 | 亚洲高清视频网站 | 黄色网页在线看 | 国产一区二区三区视频免费在线观看 | 狠狠干2022 | 欧美激情三区 | 可以免费看的毛片 | 毛片资源 | 四虎国产精品成人免费入口 | 亚洲成人免费视频 | 99国产精品久久久久久久成人 | 日本精品一区二区三区四区 | 99国产精品视频免费观看一公开 | 午夜xx | 日本黄页视频 | 亚洲狼人天堂 | 亚洲aav| 亚洲第一成年人网站 | 中国黄色免费网站 | 欧美18av | wwwxx欧美| 少妇太紧太爽又黄又硬又爽 | 国产一区二区三区久久久 | 国产97色在线 | 国产 | 亚洲一区二区三区四区在线播放 | www.视频一区 | 一级中文字幕 | a毛片视频 | 国产乱人伦 | 久热国产精品视频 | 日韩激情四射 | 91高清在线免费观看 | 亚洲欧美中文字幕5发布 | 国产成人亚洲精品自产在线 | 岛国不卡| mm131美女视频| jizz欧洲| 性生活av| 少妇一级淫片免费观看 | 亚洲精品97久久 | 在线综合视频 | 国产激情无套内精对白视频 | 美女视频免费在线观看 | 欧美jizz欧美性大全 | 欧美日韩国产成人精品 | 亚洲高清在线播放 | 高清欧美性猛交xxxx | 亚洲一区久久 | 日本特黄视频 | 伊人色影院 | 夜夜爽日日澡人人添 | 免费一级全黄少妇性色生活片 | 无码人妻精品一区二区 | 久久精品国产99国产 | 一区二区三区视频免费在线观看 | 免费观看亚洲视频 | 国产浮力影院 | 福利在线一区 | 中文字幕第23页 | 日日射天天干 | 一区二区三区四区五区在线视频 |