【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的边)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步