[SDOI2014]LIS】的更多相关文章

3532: [Sdoi2014]Lis Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 865  Solved: 311[Submit][Status][Discuss] Description 给定序列A,序列中的每一项Ai有删除代价Bi和附加属性Ci.请删除若干项,使得4的最长上升子序列长度减少至少1,且付出的代价之和最小,并输出方案.如果有多种方案,请输出将删去项的附加属性排序之后,字典序最小的一种. 这题难点在如何求一组最小字典序最小的最小…
http://www.lydsy.com/JudgeOnline/problem.php?id=3532 如果没有字典序的限制,那么DP拆点最小割即可 加上字典序的限制: 按c从小到大枚举最小割边集中的边,去掉这条边对网络的影响,继续枚举直至获得最小割边集 判断是不是最小割边集中的边: 在残量网络中边的起点和终点不连通 注:最小割边集中的边一定满流,但满流边不一定是最小割边集中的边 如下图所示,流量为1和3的两条边满流,但最小割边集为流量为4的那条边 去掉一条边对网络的影响: 边:u-->v 这…
f[i]表示以i为结尾的LIS长度 对于所有f[i]=1的,由S向i连边 对于所有f[i]=maxf的,由i向T连边 对于j<i,a[j]<a[i],且f[j]+1=f[i]的,j向i连边 将每个点拆点求最小割 对于字典序最小, 按C从小到大排序, 对于C第i小的点,将b减去$2^{-i}$ 最后最小总代价为最大流的整数部分+1 方案的二进制表示为1-最大流的小数部分 用高精度二进制,压62位 #include<cstdio> #include<algorithm> t…
BZOJ 洛谷 \(LIS\)..经典模型? 令\(f_i\)表示以\(i\)结尾的\(LIS\)长度. 如果\(f_i=1\),连边\((S,i,INF)\):如果\(f_i=\max\limits_{j=1}^n\{f_j\}\),连边\((i,T,INF)\):如果\(f_i=f_j+1,\ j<i\),连边\((j,i,INF)\). 这样使\(LIS\)长度至少减少\(1\),就是删掉图中的一些点,使得\(S,T\)不连通. 拆点,把\(i\)拆成\(X_i,Y_i\),连边\((X_…
这道题还是非常好的 首先第一问可以让我们联想到某网络流二十四题里的一道题,发现建图方式应该和这道题差不多啊 所以首先跑一遍\(dp\),求出\(dp[i]\)表示\(i\)位置结束的\(LIS\)长度,设最长的\(LIS\)长度为\(M\) 我们考虑一下如果想要使得这个\(M\)减小要割掉一些点,显然我们割掉的是点,所以将每一个点\(i\)拆成\(i\)和\(i'\)两个点,之后在\(i\)和\(i'\)之间连一条容量为\(b_i\)的边,表示割掉这个点的代价是\(b_i\) 之后我们将那些\(…
题目大意 给定序列A,序列中的每一项Ai有删除代价Bi和附加属性Ci.请删除若 干项,使得4的最长上升子序列长度减少至少1,且付出的代价之和最小,并输出方案. 如果有多种方案,请输出将删去项的附加属性排序之后,字典序最小的一种. 题解 首先我们很容易用一个\(\Theta (n^2)\)的算法求出对于每个元素的lis. 考虑以下的建图方式: 由S向f[i]==1的点连边,容量为\(\infty\), 由f[i] = max 向 T 连边, 容量为\(\infty\), 对于每个点,拆为两个点,费…
题目 给定序列A,序列中的每一项Ai有删除代价Bi和附加属性Ci.请删除若 干项,使得4的最长上升子序列长度减少至少1,且付出的代价之和最小,并输出方案. 如果有多种方案,请输出将删去项的附加属性排序之后,字典序最小的一种. 输入格式 输入包含多组数据. 输入的第一行包含整数T,表示数据组数.接下来4*T行描述每组数据. 每组数据的第一行包含一个整数N,表示A的项数,接下来三行,每行N个整数A1..An,B1.,Bn,C1..Cn,满足1 < =Ai,Bi,Ci < =10^9,且Ci两两不同…
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3532 题意:给出三个数列ABC,长度均为n.删除A中的某些数字,使得A的最长上升子列至少减少1.删掉的数字的代价为相应的B值之和.要求使得代价最小.多组答案时,使得删掉的数字的C值排序的字典序最小. 思路:假设不考虑字典序.那么只要拆点求最小割即可.设f[i]表示到i的最长上升子列.对于两个数字(i,j),若A[i]<A[j]且f[i]+1=f[j],则i向j连边.对于每个点拆开…
Time Limit: 10 Sec  Memory Limit: 512 MB Description 给定序列A,序列中的每一项Ai有删除代价Bi和附加属性Ci.请删除若干项,使得4的最长上升子序列长度减少至少1,且付出的代价之和最小,并输出方案. 如果有多种方案,请输出将删去项的附加属性排序之后,字典序最小的一种. Input 输入包含多组数据. 输入的第一行包含整数T,表示数据组数.接下来4*T行描述每组数据. 每组数据的第一行包含一个整数N,表示A的项数,接下来三行,每行N个整数A1.…
http://www.lydsy.com/JudgeOnline/problem.php?id=3532 (题目链接) 题意 给出$n$个数的数列,三个值$a[i],b[i],c[i]$.将其中一些数删掉,使得序列的$a[i]$的最长上升子序列至少减少$1$,删掉的数的$b[i]$和最小,在$b[i]$最小的情况下选$c[i]$排序后字典序最小的方案输出. Solution 拆点,状态能够转移就连边,最小割. 用退流的思想求方案.按照$c[i]$从小到大枚举边,如果这条边满流且为必要边,那么退流…