3144:[HNOI2013]切糕 - BZOJ


var
map:array[..,-..]of longint;
dis,his,pre:array[..]of longint;
vh:array[..]of longint;
fx:array[-..]of longint;
a,b,c,d,flow:longint; procedure init;
var
i,j,k:longint;
begin
read(b,c,a,d);
for i:= to a do
for j:= to b do
for k:= to c do
begin
read(map[(i-)*b*c+(j-)*c+k,]);
if i>d then
begin
if k> then map[(i-)*b*c+(j-)*c+k,]:=;
if j> then map[(i-)*b*c+(j-)*c+k,]:=;
if k<c then map[(i-)*b*c+(j-)*c+k,]:=;
if j<b then map[(i-)*b*c+(j-)*c+k,]:=;
end;
end;
fx[]:=b*c;
fx[]:=-d*b*c-;
fx[]:=-d*b*c-c;
fx[]:=-d*b*c+;
fx[]:=-d*b*c+c;
for i:= to do
fx[-i]:=-fx[i];
end; function max(x,y:longint):longint;
begin
if x>y then exit(x);
exit(y);
end; procedure work;
var
i,j,aug,min:longint;
flag:boolean;
begin
vh[]:=a*b*c+;
i:=;
aug:=maxlongint;
while dis[]<=a*b*c+ do
begin
flag:=false;
his[i]:=aug;
if i= then
begin
for j:= to b*c do
if dis[]=dis[j]+ then
begin
flag:=true;
pre[j]:=-;
break;
end;
if flag then i:=j;
end
else
for j:=- to do
if i+fx[j]> then
if (map[i,j]>)and(dis[i]=dis[i+fx[j]]+) then
begin
flag:=true;
pre[i+fx[j]]:=-j;
if aug>map[i,j] then aug:=map[i,j];
inc(i,fx[j]);
if i>a*b*c then
begin
inc(flow,aug);
while i<> do
begin
inc(map[i,pre[i]],aug);
dec(map[max(i+fx[pre[i]],),-pre[i]],aug);
inc(i,fx[pre[i]]);
if i< then i:=;
end;
aug:=maxlongint;
end;
break;
end;
if flag then continue;
min:=a*b*c+;
if i= then
begin
for j:= to b*c do
if min>dis[j] then min:=dis[j];
end
else
for j:=- to do
if i+fx[j]> then
if (map[i,j]>)and(dis[i+fx[j]]<min) then min:=dis[i+fx[j]];
dec(vh[dis[i]]);
if vh[dis[i]]= then break;
dis[i]:=min+;
inc(vh[dis[i]]);
if i<> then
begin
inc(i,fx[pre[i]]);
if i< then i:=;
aug:=his[i];
end;
end;
write(flow);
end; begin
init;
work;
end.
3144:[HNOI2013]切糕 - BZOJ的更多相关文章
- BZOJ 3144: [Hnoi2013]切糕
3144: [Hnoi2013]切糕 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1495 Solved: 819[Submit][Status] ...
- bzoj 3144: [Hnoi2013]切糕 最小割
3144: [Hnoi2013]切糕 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 681 Solved: 375[Submit][Status] ...
- 【BZOJ 3144】 3144: [Hnoi2013]切糕 (最小割模型)
3144: [Hnoi2013]切糕 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1764 Solved: 965 Description Inp ...
- 3144: [Hnoi2013]切糕
3144: [Hnoi2013]切糕 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1526 Solved: 827[Submit][Status] ...
- [BZOJ 3144] [Hnoi2013] 切糕 【最小割】
题目链接:BZOJ - 3144 题目分析 题意:在 P * Q 的方格上填数字,可以填 [1, R] . 在 (x, y) 上填 z 会有 V[x][y][z] 的代价.限制:相邻两个格子填的数字的 ...
- BZOJ 3144 [HNOI2013]切糕 (最大流+巧妙的建图)
题面:洛谷传送门 BZOJ传送门 最大流神题 把点权转化为边权,切糕里每个点$(i,j,k)$向$(i,j,k+1)$连一条流量为$v(i,j,k)$的边 源点$S$向第$1$层的点连边,第$R+1$ ...
- 【BZOJ】3144: [Hnoi2013]切糕
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3144 MDZZ,不知道为什么被卡常数了/TAT(特判才过去的....论vector的危害性 ...
- 【刷题】BZOJ 3144 [Hnoi2013]切糕
Description Input 第一行是三个正整数P,Q,R,表示切糕的长P. 宽Q.高R.第二行有一个非负整数D,表示光滑性要求.接下来是R个P行Q列的矩阵,第z个 矩阵的第x行第y列是v(x, ...
- bzoj 3144 [Hnoi2013]切糕——最小割
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3144 一根纵轴上切一个点,可以把一根纵轴上的点连成一串来体现.自己的写法是每个点连向前一个点 ...
随机推荐
- Android 混淆与混淆过滤
Android 中代码混淆一般用的是ProGuard.它除了混淆代码之后还有其它许多实用的功能.这里主要记录混淆相关的实现. 1.ProGuard的作用 删除无用代码,压缩和优化Class文件,缩小A ...
- 运用DataTable进行行转列操作
public DataTable GetReverseTable(DataTable p_Table) { DataTable _Table = new DataTable(); ; i != p_T ...
- blogs
http://blogs.msdn.com/b/tess/archive/2008/02/04/net-debugging-demos-information-and-setup-instructio ...
- 解决PHP中file_get_contents抓取网页中文乱码问题
根据网上有朋友介绍说原因可能是服务器开了GZIP压缩. 下面是用firebug查看我的博客的头信息,Gzip是开了的. 请求头信息原始头信息 代码如下 复制代码 Accept text/html,ap ...
- 网络HTTP、JSON、XML解析等 复习
一.一个HTTP请求的基本要素1.请求URL:客户端通过哪个路径找到服务器 2.请求参数:客户端发送给服务器的数据* 比如登录时需要发送的用户名和密码 3.返回结果:服务器返回给客户端的数据* 一般是 ...
- (转)Linux概念架构的理解
英文原文:Conceptual Architecture of the Linux Kernel 摘要 Linux kernel成功的两个原因:(1)架构设计支持大量的志愿开发者加入到开发过程中:(2 ...
- 一个简单的Spring测试的例子
在做测试的时候我们用到Junit Case,当我们的项目中使用了Sring的时候,我们应该怎么使用spring容器去管理我的测试用例呢?现在我们用一个简单的例子来展示这个过程. 1 首先我们新建一个普 ...
- Windows 命令大全
打开控制面板的方法:输入control,回车即可打开. 以下是“运行”里常见的命令: gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址 ...
- Codevs 1669 运输装备
时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 德国放松对英国的进攻后,把矛头指向了东北—— ...
- Java Web动态配置log4j
导入log4j的jar包, 在web.xml中做如下配置 <!-- Log4j Configuration --> <context-param> <param-name ...