题意:

思路:

写了两种版本

考场版本

 var dp:array[..,..]of longint;
t:array[..,..]of longint;
n,m,i,j,k,oo,ans,d1:longint; function min(x,y:int64):int64;
begin
if x<y then exit(x);
exit(y);
end; begin
assign(input,'room.in'); reset(input);
assign(output,'room.out'); rewrite(output);
readln(n,m,d1);
oo:=maxlongint>>;
for i:= to n do
for j:= to m do read(t[i,j]); for i:= to n do
begin
for j:= to m do
for k:= to m do
if j<>k then dp[j,k]:=dp[j,k]+t[i-,j]+t[i-,k]
else dp[j,k]:=oo; for j:= to m do
for k:= to m do dp[j,k]:=min(dp[j,k],dp[j-,k]+d1); for j:=m- downto do
for k:= to m do dp[j,k]:=min(dp[j,k],dp[j+,k]+d1); for j:= to m do
for k:= to m do dp[j,k]:=min(dp[j,k],dp[j,k-]+d1); for j:= to m do
for k:=m- downto do dp[j,k]:=min(dp[j,k],dp[j,k+]+d1);
end;
ans:=oo;
for i:= to m do
for j:= to m do
if i<>j then ans:=min(ans,dp[i,j]+t[n,i]+t[n,j]);
writeln(ans);
{for i:=1 to n do
for j:=1 to m do
for k:=1 to m do writeln(i,' ',j,' ',k,' ',dp[i,j,k]+t[i,j]+t[i,k]);}
close(input);
close(output);
end.

赛后自测版本

 var dp:array[..,..,..]of longint;
t:array[..,..]of longint;
n,m,d1,i,j,k,ans:longint; function min(x,y:longint):longint;
begin
if x<y then exit(x);
exit(y);
end; begin
assign(input,'room.in'); reset(input);
assign(output,'room.out'); rewrite(output);
readln(n,m,d1); for i:= to n do
for j:= to m do read(t[i,j]); for i:= to n do
begin
for j:= to m do
for k:= to m do
if j<>k then dp[i,j,k]:=dp[i-,j,k]+t[i,j]+t[i,k]
else dp[i,j,k]:=maxlongint>>; for j:= to m do
for k:= to m do
if (j<>k)and(j-<>k) then dp[i,j,k]:=min(dp[i,j,k],dp[i,j-,k]+d1); for j:=m- downto do
for k:= to m do
if (j<>k)and(j+<>k) then dp[i,j,k]:=min(dp[i,j,k],dp[i,j+,k]+d1); for j:= to m do
for k:= to m do
if (j<>k)and(k-<>j) then dp[i,j,k]:=min(dp[i,j,k],dp[i,j,k-]+d1); for j:= to m do
for k:=m- downto do
if (j<>k)and(k+<>j) then dp[i,j,k]:=min(dp[i,j,k],dp[i,j,k+]+d1);
end; ans:=maxlongint;
for i:= to m do
for j:= to m do
if i<>j then ans:=min(ans,dp[n,i,j]);
writeln(ans); close(input);
close(output);
end.

【ZJOI2017 Round1练习&BZOJ5354】D7T3 room(DP)的更多相关文章

  1. 【ZJOI2017 Round1练习&BZOJ4767】D1T3 两双手(排列组合,DP)

    题意: 100%的数据:|Ax|,|Ay|,|Bx|,|By| <= 500, 0 <= n,Ex,Ey <= 500 思路:听说这是一道原题 只能往右或者下走一步且有禁止点的简化版 ...

  2. 【ZJOI2017 Round1练习】D4T2 trie(贪心,状压DP)

    题意:现在 Matej 手上有 N 个英文小写字母组成的单词, 他想知道,如果将这 N 个单词中的字母分别进行重新排列,形成的字母树的节点数最少是多少. n<=16,len[i]<=100 ...

  3. 【ZJOI2017 Round1练习&BZOJ4774】D3T2 road(斯坦纳树,状压DP)

    题意: 对于边带权的无向图 G = (V, E),请选择一些边, 使得1<=i<=d,i号节点和 n − i + 1 号节点可以通过选中的边连通, 最小化选中的所有边的权值和. d< ...

  4. 【ZJOI2017 Round1练习&BZOJ5350】D5T1 masodik(DP,斜率优化)

    题意:你要从(0,0)点走到(n,m), 每次只能往 x 轴或者 y 轴正方向移动一个单位距离.从(i,j)移动到(i,j+1)的代价为 ri,从(i,j)移动到(i+1,j)的代价为 cj. 求最小 ...

  5. 【ZJOI2017 Round1练习】D8T2 sequence(DP)

    题意: 思路: #include <algorithm> #include <iostream> #include <cstring> #include <c ...

  6. 【ZJOI2017 Round1练习&UVA1057】D6T1 Routing(DP,SPFA)

    题意:给你一个有向图, 并指定起点和终点. 问要从起点走向终点, 再从终点走向起点, 最少需要走过多少不同的节点. 对于 100%的数据, 有 N<=100, M<=min(1000,N* ...

  7. 【ZJOI2017 Round1后记】

    2017.4.1: NOIP+Round1综合成绩出来,标准分离续命线差了80分,果然还是联赛坑挖太大了…… 不管怎么说能续命的话还是要试一下的…… 发毒誓:Round2前不打手游,不看NGA,不看星 ...

  8. 【ZJOI2017 Round1练习&BZOJ4765】D1T3 普通计算姬(主席树,分块)

    题意: 思路:分块 使用树状数组维护sum[i]的前缀和 使用主席树维护root到u的路径上点的编号出现的个数 每次操作如果是修改就加入队列 如果是询问,考虑块内操作对询问的影响,每次在x点加上y会使 ...

  9. 【ZJOI2017 Round1练习】D2T2 iqtest(排列组合)

    题意: 思路: 根据欧拉定理,a^(phi(n)-1)为a mod n的逆元 ..]of longint; s,ans,x,mo,k,phi,tmp:int64; i,m,n,j:longint; f ...

随机推荐

  1. Webform 三级联动例子

    首先分别做三个下拉列表 <body> <form id="form1" runat="server"> <asp:DropDown ...

  2. SpringBoot之旅第七篇-Docker

    一.引言 记得上大三时,要给微机房电脑安装系统,除了原生的操作系统外,还要另外安装一些必要的开发软件,如果每台电脑都重新去安装的话工作量就很大了,这个时候就使用了windows镜像系统,我们将要安装的 ...

  3. Redux中的异步操作

    异步操作的另一种方案就是让Action Creator返回一个Promise对象. 我们这边使用  redux-promise  中间件 import { createStore, applyMidd ...

  4. java中字节和字符的转换操作

    package com.ywx.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputSt ...

  5. 关于Farseer.net轻量级ORM开源框架 V1.0 概念版本开发的消息

    V0.2版的开源距离今天(05年03月)已有近3年的时间.可以说这个版本已经有点落伍的感觉了,呵呵. V0.2版至今一直处于BUG的修复及一些细小功能的增加,所以版本号上一直没有变化. 其实在这1.2 ...

  6. 一些常用的meta标签及其作用

    声明文档使用的字符编码  <meta charset='utf-8'>优先使用 IE 最新版本和 Chrome  <meta http-equiv="X-UA-Compat ...

  7. [Windows Server 2008] 404错误设置方法

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:如何设置4 ...

  8. createdb - 创建一个新的 PostgreSQL 数据库

    SYNOPSIS createdb [ option...] [ dbname] [ description] DESCRIPTION 描述 createdb 创建一个新的 PostgreSQL 数据 ...

  9. WPF学习- 新建项目后自定义Main()[Type 'App' already defines a member called 'Main' with the same parameter types]

    问题点: 在App.xaml.cs中自己添加Main方法,编译会出现如下报错: 错误 CS0111 类型“App”已定义了一个名为“Main”的具有相同参数类型的成员  错误 Type 'App' a ...

  10. CAD参数绘制填充(网页版)

    填充是CAD图纸中不可或缺的对象,在机械设计行业,常常需要将零部件剖开,以表现其内部的细节,而这些被剖开的截面会用填充来表示:在工程设计行业,一些特殊的材料或地形,也会用填充来表示. js中实现代码说 ...