vijosP1006 晴天小猪历险记之Hill

链接:https://vijos.org/p/1006

【思路】

图上DP。

这个题的递推顺序是关键。先从上一行得到最小值,然后从本行比较最小值,注意本行、本行与上一行之间的第一段与最后一段是相通的。

【代码】

 #include<cstdio>
#include<iostream>
#include<cstring>
#define FOR(a,b,c) for(int a=(b);a<=(c);a++)
using namespace std; const int maxn = +;
const int INF=<<; int w[maxn][maxn],d[maxn][maxn];
int n; int main()
{
scanf("%d",&n);
FOR(i,,n) FOR(j,,i) scanf("%d",&w[i][j]);
memset(d,,sizeof(d));
d[n][]=;
FOR(i,,n) d[n][i]=d[n][i-]+w[n][i];
for(int i=n-;i;i--)
{
FOR(j,,i) {
if(j==)
d[i][j]=min(d[i+][i+],min(d[i+][j],d[i+][j+]))+w[i][j];
else if(j==i) {
d[i][j]=min(d[i+][],min(d[i+][j],d[i+][j+]))+w[i][j];
}
else
d[i][j]=min(d[i+][j],d[i+][j+]) + w[i][j];
}
d[i][] = min(d[i][],d[i][i]+w[i][]);
FOR(j,,i) d[i][j] = min(d[i][j],d[i][j-] + w[i][j]);
for(int j=i-;j;j--) d[i][j] = min(d[i][j],d[i][j+] + w[i][j]);
}
printf("%d\n",d[][]);
return ;
}

vijosP1006 晴天小猪历险记之Hill的更多相关文章

  1. Vijos1006P1006晴天小猪历险记之Hill[最短路]

    P1006晴天小猪历险记之Hill Accepted 标签:晴天小猪历险记[显示标签]     背景 在很久很久以前,有一个动物村庄,那里是猪的乐园(^_^),村民们勤劳.勇敢.善良.团结……不过有一 ...

  2. Vijos 1006 晴天小猪历险记之Hill 单源单汇最短路

    背景 在很久很久以前,有一个动物村庄,那里是猪的乐园(^_^),村民们勤劳.勇敢.善良.团结-- 不过有一天,最小的小小猪生病了,而这种病是极其罕见的,因此大家都没有储存这种药物.所以晴天小猪自告奋勇 ...

  3. vijos 1006 晴天小猪历险记之Hill——数字三角形的终极变化

    题目链接:https://vijos.org/p/1006 数字三角形原题看这里:http://www.cnblogs.com/huashanqingzhu/p/7326837.html 背景 在很久 ...

  4. 【vijos】1006 晴天小猪历险记之Hill(dijkstra)

    https://vijos.org/p/1006 连边后跑点权的最短路 注意连边的时候左端点可以连到下一行的右端点,右端点可以连到下一行的左端点 #include <cstdio> #in ...

  5. 晴天小猪历险记之Hill(Dijkstra优先队列优化)

    描述 这一天,他来到了一座深山的山脚下,因为只有这座深山中的一位隐者才知道这种药草的所在.但是上山的路错综复杂,由于小小猪的病情,晴天小猪想找一条需时最少的路到达山顶,但现在它一头雾水,所以向你求助. ...

  6. dp式子100个……

    1.        资源问题1-----机器分配问题F[I,j]:=max(f[i-1,k]+w[i,j-k]) 2.        资源问题2------01背包问题F[I,j]:=max(f[i- ...

  7. dp方程

    1.        资源问题1 -----机器分配问题 F[I,j]:=max(f[i-1,k]+w[i,j-k]) 2.        资源问题2 ------01背包问题   F[I,j]:=ma ...

  8. [SinGuLaRiTy] 动态规划题目复习

    [SinGuLaRiTy-1026] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [UVA 1025] A Spy in the Metr ...

  9. 信息安全-2:python之hill密码算法[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6106513.html 前言: hill密码算法我打算简要介绍就好,加密矩阵我用教材上的3*3矩阵,只做了加密,解密没有做, ...

随机推荐

  1. OpenJudge 1806:词典find()与end()

    1806:词典 总时间限制:  3000ms  内存限制:  65536kB 描述 你旅游到了一个国外的城市.那里的人们说的外国语言你不能理解.不过幸运的是,你有一本词典可以帮助你. 输入 首先输入一 ...

  2. bzoj1131: [POI2008]Sta

    思路:首先先求出以1为根的答案,然后考虑由i转移到i的儿子的答案的变化,显然以son[i]为根的子树的所有结点的深度都会减一,其余的点的深度都会加一,然后就可以直接O(n)求出所有结点的答案,然后取m ...

  3. Win32 CreateWindow GdiPlus

    #include "stdafx.h" #include "TestGidPlus.h" LRESULT CALLBACK WndProc(HWND, UINT ...

  4. 九度OJ 1019 简单计算器 -- 2006年浙江大学计算机及软件工程研究生机试真题

    题目地址:http://ac.jobdu.com/problem.php?pid=1019 题目描述:     读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. 输入: ...

  5. linux驱动(一)

    编写模块必须先声明下面两句: #include <linux/module.h>               //这个头文件包含了许多符号与函数的定义,这些符号与函数多与加载模块有关 #i ...

  6. 身份证js验证

    <script type="text/javascript"> //--身份证号码验证-支持新的带x身份证 function isIdCardNo(num) { var ...

  7. centos 忘记 root 密码

    采用单用户维护模式可以重设置新密码 系统重启,按任意键进入如下所示的菜单: 选择“kernel /.....”根据提示,按下 "e" 就能进入grup 编辑模式,此时出现的画面类似 ...

  8. PHP全局变量

    1.global 关键字 2.$GLOBALS 3.使用静态变量

  9. odoo 清除所有运行数据

    测试odoo,如果需要一个干净的db.经常需要清除掉所有业务数据.做如下操作,较为方便 1:建立一个服务器动作,动作的python代码入下. 然后新建一个菜单,菜单动作关联到 这个动作.需要清空db, ...

  10. python调用Moxa PCOMM Lite通过串口Ymodem协议发送文件

    本文采用python 2.7编写. 经过长期搜寻,终于找到了Moxa PCOMM Lite.调用PCOMM.DLL可以非常方便的通过串口的Xmodem.Ymodem.Zmodem等协议传输文件,而无需 ...