[洛谷P3227][HNOI2013]切糕】的更多相关文章

题目大意:有一个$n\times m$的切糕,每一个位置的高度可以在$[1,k]$之间,每个高度有一个代价,要求四联通的两个格子之间高度最多相差$D$,问可行的最小代价.$n,m,k,D\leqslant 40$ 题解:网络流,不考虑相差为$D$的条件时,可以给每个位置建一个点,源点连向高度为$1$的点容量为$\infty$,高度为$i$的点连向这个位置高度为$i+1$的点,容量为代价,高度为$k$的连向汇点,容量为代价.跑最小割. 考虑相差为$D$的条件,可以对于相邻的两个点$A,B$,连接$…
题解 Dinic求最小割 题目其实就是求最小的代价使得每个纵轴被分成两部分 最小割!!! 我们把每个点抽象成一条边,一个纵轴就是一条\(S-T\)的路径 但是题目要求\(|f(x,y)-f(x',y')| ≤D\) 不能直接跑最小割 考虑如何限制 首先,\(|f(x,y)-f(x',y')| ≤D\)是相互的 所以只要考虑 \(f(x,y)-f(x',y')\leq D\) 限制想一想看代码就明白了 代码就很简洁了 Code #include<bits/stdc++.h> #define LL…
正解:网络流 解题报告: 传送门! 日常看不懂题系列,,,$QAQ$ 所以先放下题目大意趴$QwQ$,就说有个$p\cdot q$的矩阵,每个位置可以填一个$[1,R]$范围内的整数$a_{i,j}$,要求相邻格子之间差不超过$D$.求$\sum v_{i,j,a_{i,j}}$的$min$ 昂,先考虑如果没有$D$这个限制网络流怎么做鸭$QwQ$.就一个,比较显然的最小割,对每个位置$(i,j)$开一行点连起来,第$k$个点和第$k+1$个点之间的流量为$v_{i,j,k+1}$,切开就表示这…
题目描述 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑且和谐.于是她找到你,希望你能帮她找出最好的切割方案. 出于简便考虑,我们将切糕视作一个长 P.宽 Q.高 R 的长方体点阵.我们将位于第 z层中第 x 行.第 y 列上(1≤x≤P, 1≤y≤Q, 1≤z≤R)的点称为(x,y,z),它有一个非负的不和谐值 v(x,y,z).一个合法的切面满足以下两个条件: 与每个纵轴(一共有 P*Q 个纵轴)有且…
洛谷题目链接:[HNOI2013]数列 题目描述 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.并且这些参数满足M(K-1)<N.小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能 输入输出格式 输入格式: 只有一行用空格隔开的四个数:N.K.M.P.对P的说明参见后面&qu…
题目描述 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑且和谐.于是她找到你,希望你能帮她找出最好的切割方案. 出于简便考虑,我们将切糕视作一个长 P.宽 Q.高 R 的长方体点阵.我们将位于第 z层中第 x 行.第 y 列上(1≤x≤P, 1≤y≤Q, 1≤z≤R)的点称为(x,y,z),它有一个非负的不和谐值 v(x,y,z).一个合法的切面满足以下两个条件: 与每个纵轴(一共有 P*Q 个纵轴)有且…
题目链接 每层每个位置向下一层这个位置连边,流量为下一层这个位置的\(f\),源点向第一层连,流量第一层每个位置的费用,最后一层向汇点连,流量\(INF\). 这样就得到了\(P*Q\)条链,不考虑\(D\)的限制的话求最小割就是答案. 现在加入限制.记结论吧,我也不知道什么原理 每个位置从\(i=D+1\)层开始,向他前后左右第\(i-D\)层连边,流量\(INF\). 然后求出最小割即为答案. #include <cstdio> #include <queue> #includ…
最小割模板. 题意:你要在一个三维点阵的每个竖条中删去一个点,使得删去的点权和最小. 且相邻(四联通)的两竖条之间删的点的z坐标之差的绝对值不超过D. 解: 首先把这些都串起来,点边转化,就变成最小割了对吧. 那么限制条件怎么处理呢? 我们知道在最小割中流量为INF的边是割不断的,以此来连边,使得相邻的割点超过D不合法. 具体来说:把相邻的两条链中,差距刚好为D的点连起来.从上往下连INF. 这是D = 1的一个连边实例. 可以发现,我们割两个在同一高度的边是没问题的. 如果高度相差1也没问题.…
首先推荐一个写的很好的题解,个人水平有限只能写流水账,还请见谅. 经典的最小割模型,很多人都说这个题是水题,但我还是被卡了=_= 技巧:加边表示限制 在没有距离\(<=d\)的限制时候,我们对每个竖轴连一条完整的边跑最小割即可(效果和取\(min\)是一样的).但是现在需要加入这个限制,我们就要考虑加边. 原条件:\(|x - y| <= d\) 转化为:\(x - y <= d\) 且 \(y - x <= d\) 我们考虑对每一个不等式单独处理,实际上可以转化为: 对于每一个\…
%%ZZKdalao上课讲的题目,才知道网络流的这种玄学建模 我们先想一想,如果没有D的限制,那么想当于再每一根纵轴上选一个权值最小的点再加起来 我们对应在网络流上就是每一根纵轴上的点向它下方的点用权值当边值进行连边,然后要割掉一些边,代价最小就是求最小割 然后我们考虑限制,就是如果割了某一根数轴上高度为x的点,那么所有与它相邻的纵轴都只能割高度为[x-d,x+d]的点 这个时候我们就要知道一个常用技巧:在求最小割时,我们可以把那些无法割去的边边权设为INF 因此我们在建边时,由纵轴上一度为x的…