首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
P2766 最长不下降子序列问题 网络流
】的更多相关文章
P2766 最长不下降子序列问题 网络流重温
P2766 最长不下降子序列问题 这个题目还是比较简单的,第一问就是LIS 第二问和第三问都是网络流. 第二问要怎么用网络流写呢,首先,每一个只能用一次,所以要拆点. 其次,我们求的是长度为s的不下降序列有多少个, 这个图可能因为我之前写过,所以感觉还是比较简单的. 建图就是dp[i]==1 的时候和源点相连,dp[i]==s 和汇点相连 中间就是 dp[i] 和 dp[i-1] 并且 dp[i] 的位置上的数要大于等于 dp[i]-1 上面的数. (!!!这个数的大小要注意,这个bu…
P2766 最长不下降子序列问题 网络流
link:https://www.luogu.org/problemnew/show/P2766 题意 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的序列中最多可取出多少个长度为s的不下降子序列. (3)如果允许在取出的序列中多次使用x1和xn,则从给定序列中最多可取出多少个长度为s的不下降子序列. 设计有效算法完成(1)(2)(3)提出的计算任务. 思路 题解来自网络流24题: [问题分析] 第一问是LIS,动态规划求解,第二问和第三问用网络最…
洛谷P2766 最长不下降子序列问题 网络流_DP
Code: #include<cstdio> #include<iostream> #include<vector> #include<algorithm> #include<queue> #include<cstring> using namespace std; const int INF=1000000; const int maxn=600; # define pb push_back int A[maxn],f[maxn];…
【24题】P2766最长不下降子序列问题
网络流二十四题 网络流是个好东西,希望我也会. 网络流?\(orz\ zsy!!!!!\) P2766 最长不下降子序列问题 考虑我们是如何\(dp\)这个\(LIS\)的. 我们是倒着推,设置\(dp(i)\)代表以\(i\)为起点的\(LIS\)是多少.转移太显然了 \[ dp(i)=max\{dp(j)\}+1,data[i]\le data[j] \] 想一想一个合法的\(LIS\)方案代表着什么,代表着它是由这个式子一个一个推出来的. 考虑一个数字只能用一次,那么我们直接拆成两个点\(…
[**P2766** 最长不下降子序列问题](https://www.luogu.org/problemnew/show/P2766)
P2766 最长不下降子序列问题 考虑我们是如何\(dp\)这个\(LIS\)的. 我们是倒着推,设置\(dp(i)\)代表以\(i\)为起点的\(LIS\)是多少.转移太显然了 \[ dp(i)=max\{dp(j)\}+1,data[i]\le data[j] \] 想一想一个合法的\(LIS\)方案代表着什么,代表着它是由这个式子一个一个推出来的. 考虑一个数字只能用一次,那么我们直接拆成两个点\(v_0,v_1\)分别代表一个数字的入度和出度,连一条\(v_1v_2,cap=1\)的边.…
【Luogu】P2766最长不下降子序列问题(暴力网络流)
题目链接 水题qwq,数据都那么水. 我要是出数据的人我就卡$n^3$建图. qwq. 然而这么水的题我!居!然!没!有!1!A!!还!提!交!了!五!遍!!! md从现在开始要锻炼1A率了 看我从今往后做完一道题之后至少检查TM十分钟 可恶qwq. 第一问$n^2$sbDP可解.然而你们知道我提交五遍TM是错在哪里了吗????? 我TM就错在这个pj-,sb到不能再sb的sb暴力DP上!!! 气死我了!!! 关于第二问和第三问,先拆点再拆点qwq. 先把每个点拆成入点和出点用来限制流量,然后把…
P2766 最长不下降子序列问题 题解(网络流)
题目链接 最长不下降子序列问题 解题思路 分成三小问解决. 第一小问,求\(LIS\),因为\(n<=500\),直接\(O(N^2)\)暴力求解即可. 第二三小问,建立模型用网络流求解. 对于第二小问 \((1)\)首先,因为每个点只能使用一次,考虑拆点,把每一个点拆成\(i,n+i\)两个点,从\(i\)连向\(n+i\)一条长度为\(1\)的有向边. \((2)\)其次,因为流向是从S经集合E到T,其中任意集合E中元素\(i\)需要满足的条件是\(i\)位于LIS上,故: ①出边从\(li…
网络流 之 P2766 最长不下降子序列问题
题目描述 «问题描述: 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的序列中最多可取出多少个长度为s的不下降子序列. (3)如果允许在取出的序列中多次使用x1和xn,则从给定序列中最多可取出多少个长度为s的不下降子序列. «编程任务: 设计有效算法完成(1)(2)(3)提出的计算任务. 输入输出格式 输入格式: 第1 行有1个正整数n,表示给定序列的长度.接下来的1 行有n个正整数n:x1, ..., xn. 输出格式: 第1 行是最长不下降子序…
网络流24题 P2766 最长不下降子序列问题
题目描述 «问题描述: 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的序列中最多可取出多少个长度为s的不下降子序列. (3)如果允许在取出的序列中多次使用x1和xn,则从给定序列中最多可取出多少个长度为s的不下降子序列. «编程任务: 设计有效算法完成(1)(2)(3)提出的计算任务. 输入格式 第1 行有1个正整数n,表示给定序列的长度.接下来的1 行有n个正整数n:x1, ..., xn. 输出格式 第1 行是最长不下降子序列的长度s.第2行…
洛谷 P2766 最长不下降子序列问【dp+最大流】
死于开小数组的WA?! 第一问n方dp瞎搞一下就成,f[i]记录以i结尾的最长不下降子序列.记答案为mx 第二问网络流,拆点限制流量,s向所有f[i]为1的点建(s,i,1),所有f[i]为mx(i+n,t,1),然后对于j<i&&a[j]<=a[i]&&f[i]==f[j]+1连接(j+n,i,1)表示可以转移,然后跑dinic记录答案ans 第三问也是网络流但是不用重建图,直接在残量网络上加上(1,1+n,inf)(s,1,inf),如果f[n]==mx,(…