HNOI2013 BZOJ3144 切糕】的更多相关文章

在n×m的表格上,在(x,y)填v的代价是w(x,y,v),且相邻格子填的数相差≤d.求填满表格的最小代价.n,m,maxv≤40. 每个点上选择一个数填,因此将上面的数串起来.考虑限制条件,矛盾条件是一个格子填a而旁边格子填了小于a-d或大于a+d的.不妨只考虑一个格子填a而旁边格子填小于a-d的,矛盾条件是要么我选一个小于a的,要么旁边格子必须选≥a-d的.画图考虑如何断流也可以建出图. 一种经典转换模型:"如果A,就必须B"等价于"要么不A,要么就B".比如最…
[HNOI2013]切糕 Sample Input 2 2 2 1 6 1 6 1 2 6 2 6 Sample Output 6 \(P,Q,R≤40,0≤D≤R\) 参考:https://blog.csdn.net/zarxdy34/article/details/45272055 经典的有距离限制的网络流模型. 首先我们不考虑高度限制.我们直接将图建\(r+1\)层,就是每个格子\((x,y)\)拆成\(r+1\)个点.将它们串成一串,第\(i\)层的向\(i+1\)层连边,第\(i\)条…
文章目录 「题解」「HNOI2013」切糕 题目描述 思路分析及代码 题目分析 题解及代码 「题解」「HNOI2013」切糕 题目描述 点这里 思路分析及代码 题目分析 这道题的题目可以说得上是史上最难看懂的题目之一了- 首先把题目重新叙述一遍. 题目大致在说,你有一个 P×Q×RP\times Q\times RP×Q×R 的蛋糕,每个点有一个不客观度 v[i][j][k]v[i][j][k]v[i][j][k] ,现在你要把这个蛋糕切开. 切蛋糕的规则是什么呢? 首先我们解释一下: 对于每一…
问题描述 BZOJ3144 LG3227 还想粘下样例 输入: 2 2 2 1 6 1 6 1 2 6 2 6 输出: 6 题解 关于离散变量模型,我不想再抄一遍,所以: 对于样例,可以建立出这样的图 这是一个最小割模型,哪条边满流就代表在这个位置选择了哪个值. 网络流的主要思想就是通过点互化,将限制条件在边上体现出来. 所以比 \([1,r]\) 要再多建立一个点,但是最后增加的一层不能建立横向边 . \(\mathrm{Code}\) #include<bits/stdc++.h> usi…
总算做了一道2011以后的省选题了……原题: 图片题面好评! P,Q,R≤40,0≤D≤R,给出的所有的不和谐值不超过1000. 文本样例好评! 恩这个是听妹主席讲过后会写的,首先把每个点拆成链,那么割掉这个链上的某条边就表示这个点选了某个权值,边的流量就是这个点设成这个值的花费,表示要花费掉这些代价来把这条边割掉 相邻两个点的值之差<=d怎么搞呐,假设两个相邻的点x,y,那么x的第i个点往y的i-d个点连oo的边,即可,大概就像酱紫: 如果有两个被割掉的线段距离超过d,就依然存在一条路径从s到…
http://www.lydsy.com/JudgeOnline/problem.php?id=3144 思路:如果没有D的限制,那一个竖轴都是一个最小割,每个点向更高的点引一条流量为自己权值的边,那考虑D的情况,就表明在割i高度这条边的时候,不能割它相邻的i-d以下的任何边,因此,我们引一条边从i高度到相邻的i-d高度,流量为inf,这样就能维护D这个条件了 #include<cstdio> #include<cmath> #include<algorithm> #i…
题解 神仙网络流啊-- naive的我一直想把每个纵轴拆点,每个纵轴建R个点(大概是要跑费用流吧--)--然后第二个限制就gg了,什么也想不出来,菜啊TAT 后来我发现大神们的建图都是,一个原点,一个汇点,一段长条,每一段就是一个点,流量是值,那么最小割就是最小值了,很神奇 然后每相邻的两个纵轴z向z - D连一条边,z再向z + D连一条边 感觉很神奇,后来我想了一下,这样并不能保证割了z之后一定割了相邻的[z - D,z+D]的点,而是可以保证,如果割错了这个割一定会被换掉!错误的答案是有限…
题目链接 戳我 \(Solution\) 对于这道题,我们首先来看看没有\(D\)这个约束的该如何做. 我们考虑构造最小割模型. 其实直接贪心就好了,选出每条路径上的最小值就好了(路径就是将每层的同一个点连起来) 但是因为这题不仅仅是这样,还有一些约束条件需要满足.所以还是看看如何建模吧. 其实和贪心很像啊. 首先如上面所说连成一条条路径,在将第一层和\(S\)相连,最后一层和\(T\)连接.跑一遍最小割就好了.至于流量,这个自己应该知道吧,如果不知道来看看图,更加深刻的理解.(这里只选了局部图…
Circles Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1427    Accepted Submission(s): 451 Problem Description There are n circles on a infinitely large table.With every two circle, eithe…
[BZOJ3144][HNOI2013]切糕 题面 题目描述 经过千辛万苦小 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).一个合法的切面满足以…