【ZJOI2017 Round1练习&BZOJ5354】D7T3 room(DP)
题意:


思路:

写了两种版本
考场版本
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)的更多相关文章
- 【ZJOI2017 Round1练习&BZOJ4767】D1T3 两双手(排列组合,DP)
题意: 100%的数据:|Ax|,|Ay|,|Bx|,|By| <= 500, 0 <= n,Ex,Ey <= 500 思路:听说这是一道原题 只能往右或者下走一步且有禁止点的简化版 ...
- 【ZJOI2017 Round1练习】D4T2 trie(贪心,状压DP)
题意:现在 Matej 手上有 N 个英文小写字母组成的单词, 他想知道,如果将这 N 个单词中的字母分别进行重新排列,形成的字母树的节点数最少是多少. n<=16,len[i]<=100 ...
- 【ZJOI2017 Round1练习&BZOJ4774】D3T2 road(斯坦纳树,状压DP)
题意: 对于边带权的无向图 G = (V, E),请选择一些边, 使得1<=i<=d,i号节点和 n − i + 1 号节点可以通过选中的边连通, 最小化选中的所有边的权值和. d< ...
- 【ZJOI2017 Round1练习&BZOJ5350】D5T1 masodik(DP,斜率优化)
题意:你要从(0,0)点走到(n,m), 每次只能往 x 轴或者 y 轴正方向移动一个单位距离.从(i,j)移动到(i,j+1)的代价为 ri,从(i,j)移动到(i+1,j)的代价为 cj. 求最小 ...
- 【ZJOI2017 Round1练习】D8T2 sequence(DP)
题意: 思路: #include <algorithm> #include <iostream> #include <cstring> #include <c ...
- 【ZJOI2017 Round1练习&UVA1057】D6T1 Routing(DP,SPFA)
题意:给你一个有向图, 并指定起点和终点. 问要从起点走向终点, 再从终点走向起点, 最少需要走过多少不同的节点. 对于 100%的数据, 有 N<=100, M<=min(1000,N* ...
- 【ZJOI2017 Round1后记】
2017.4.1: NOIP+Round1综合成绩出来,标准分离续命线差了80分,果然还是联赛坑挖太大了…… 不管怎么说能续命的话还是要试一下的…… 发毒誓:Round2前不打手游,不看NGA,不看星 ...
- 【ZJOI2017 Round1练习&BZOJ4765】D1T3 普通计算姬(主席树,分块)
题意: 思路:分块 使用树状数组维护sum[i]的前缀和 使用主席树维护root到u的路径上点的编号出现的个数 每次操作如果是修改就加入队列 如果是询问,考虑块内操作对询问的影响,每次在x点加上y会使 ...
- 【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 ...
随机推荐
- 自定义Image HtmlHelper
public static void Image(this HtmlHelper helper, string src, string alt = null, object htmlAttribute ...
- Mac OS 下安装和配置 maven
1. 安装 Maven 前的必须准备 需先安装 Java 环境 下载合适的 JDK 配置 JDK 环境变量 JAVA_HOME:为 JDK 安装目录 Path:为 JDK/bin 目录 测试是否成功: ...
- mysql 忘记密码 登陆+修改密码
step1: 苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server) step2: 进入终端输入:cd /usr/local ...
- Vue.js学习笔记--4. 组件的基本使用
整理自官网教程 -- https://cn.vuejs.org/ 1. 所有Vue组件同时也都是Vue实例,分为全局组件和局部组件,注册方式如下. <div id="app" ...
- Hadoop YARN学习之重要术语总结(6)
Hadoop YARN学习之重要术语总结(6) - SLA服务等级 - RM(ResourceManager) - AM(ApplicationMaster) - NM(NodeMaster) - M ...
- Objective - c Chapter 1 -2 Hello world
Objective - c Chapter 1 Hello world 1.1 1.2.On the Welcome screen, click "Create a new Xcode ...
- InChatter系统之服务器开发(一)
服务器端是整个消息系统的中枢,类似与人类的大脑.没有他,根本无法实现客户端之间的交流,为什么呢?这也涉及到我们的系统涉及,在服务器端,每个客户端的标识数据都会在服务器端进行保存,在这种情况下,当某一个 ...
- java实现的单点登录
摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中.本文从业务的角度分析了单点登录的需求和应用领域:从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO ...
- 火狐加载用户配置文件 "C:\XXX\Mozilla Firefox\firefox.exe" http://192.168.1.1:8080 -profile ../kkk
"C:\XXX\Mozilla Firefox\firefox.exe" http://192.168.1.1:8080 -profile ../kkk $("#clic ...
- 小写bool和大写BOOL的区别
转:https://blog.csdn.net/ji0525084/article/details/8594469 bool是标准C++中的布尔量,占一个字节大小内存,只有false或者true.具有 ...