【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 ...
随机推荐
- 171 Excel Sheet Column Number Excel表列序号 26进制转10进制
给定一个Excel表格中的列名称,返回其相应的列序号.示例: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -&g ...
- String的用法——转换功能
package cn.itcast_05; /* String类的转换功能: byte[] getByte():把字符串转换成字节数组 复习: public String(byte[] bytes): ...
- (六)SpringIoc之延时加载
Spring容器初始化时将所有scope = singleton的bean进行实例化. 通常情况下这是一件好事,因为这样在配置中的错误会更容易发现.但是如果不想spring容器初始化就实例化就要用到延 ...
- [BZOJ2190][SDOI2008]仪仗队 数学
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 看到这道题首先想到了NOI2010的能量采集,这不就是赤裸裸的弱化版吗?直接上莫比乌 ...
- e.Row.RowType == DataControlRowType.DataRow详解(转)
代码语句如下: protected void OnRowCreate(object sender, GridViewRowEventArgs e) { if (e.Row.RowT ...
- Scala基础篇-02函数与代码块
1.block 代码块也是表达式,其最终求得的值是最后一个表达式的值. {exp1;exp2} { exp1 exp2 } 2.function def funtionName(param:Param ...
- spark on yarn模式下内存资源管理(笔记1)
问题:1. spark中yarn集群资源管理器,container资源容器与集群各节点node,spark应用(application),spark作业(job),阶段(stage),任务(task) ...
- Farseer.net轻量级开源框架 中级篇:BasePage、BaseController、BaseHandler、BaseMasterPage、BaseControls基类使用
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: UrlRewriter 地址重写 下一篇:Farseer.net轻量级开源框架 中 ...
- 背景渐变 background-image:linear-gradient(0deg,#fff,#ccc);
背景渐变 background-image:linear-gradient(0deg,#fff,#ccc);
- 2.C# 输入一个整数,求质因数
C# 输入一个整数,求质因数 List<int> results = new List<int>(); int number = Int32.Parse(Console.Rea ...