【bzoj3144 切糕】
题目描述:
N*M*H的蛋糕,每个位置都要选一个高度切开,每个位置的每个高度都有一个不和谐值,同时相邻格子切开的高度差不能超过D,最小化总代价。
数据范围:
1<=N, M, H<=40
题解:
那N*M每个点拆成H个点,且第一个点与S相连,最后一个点与T相连,每条边权为这个点的不和谐值,那么就是要最小割模型。(割了这条边就是当前这个位置选这条边表示的点)
那么还有一个条件是邻格子切开的高度差不能超过D,那么每条链与周围的链都要连边,可以从(x,y,h)向(x0,y0,h-D)连边权为inf的边。(当前链选了这个边深度为h,那么这么连完后要使图不连通就必须删周围的链深度在[h-d,h],因为不可能删inf的边)