题目描述
输入
第一行是三个正整数P,Q,R,表示切糕的长P、 宽Q、高R。第二行有一个非负整数D,表示光滑性要求。接下来是R个P行Q列的矩阵,第z个 矩阵的第x行第y列是v(x,y,z) (1≤x≤P, 1≤y≤Q, 1≤z≤R)。
100%的数据满足P,Q,R≤40,0≤D≤R,且给出的所有的不和谐值不超过1000。
输出
仅包含一个整数,表示在合法基础上最小的总不和谐值。
样例输入
样例输出
提示
最佳切面的f为f(1,1)=f(2,1)=2,f(1,2)=f(2,2)=1
根据题意显然我们需要在二维平面的每个坐标上删除一个点。删除点不好办,我们将点转化成边:将第三维坐标为$z$的点变成连接第$z$层与第$z+1$层的边,即连接$(x,y,z)$与$(x,y,z+1)$,流量为$v(x,y,z)$,然后源点连向第一层的点,最后一层的点连向汇点。如果不考虑$D$的限制,直接按上述连边跑最小割即可。但现在考虑$D$的限制,我们将$(x,y,z)$连向$(x',y',z-D)$,流量为$INF$表示这条边不能被割。可以发现如果相邻两个坐标割的边第三维坐标差大于$D$时,就可以有流量绕过被割的边从相邻坐标的边流过去。
#include #include