putnik
可将旅行商的路线看作是从n - 1号点出发, 跳着到0号点, 再折返走完之前跳过的点. 想到这个, 暴力就可以得50分.
正解是DP.
f[i][j](i > j)表示, 从i开始跳, 并返回至j所需要的最小花费(从定义上i, j可互换)
因而得到递推式:
f[i + 1][i] = min(f[i + 1][i], f[i][j] + w[j][i + 1])
f[i + 1][j] = min(f[i + 1][j], f[i][j] + w[i][i + 1])
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxN = 1500;
int w[maxN][maxN];
int f[maxN][maxN];
int main()
{
freopen("putnik.in", "r", stdin);
freopen("putnik.out", "w", stdout);
ios::sync_with_stdio(false);
int n;
cin >> n;
for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)
cin >> w[i][j];
memset(f, 127, sizeof(f));
f[0][0] = 0;
for(int i = 0; i < n; i ++)
for(int j = 0; j <= i; j ++)
if(f[i][j] < (int)2e9)
f[i + 1][i] = min(f[i + 1][i], f[i][j] + w[j][i + 1]),
f[i + 1][j] = min(f[i + 1][j], f[i][j] + w[i][i + 1]);
int ans = (int)2e9;
for(int i = 0; i < n; i ++)
ans = min(ans, f[n - 1][i]);
cout << ans;
}
putnik的更多相关文章
随机推荐
- Linux学习-备份策略
每部主机的任务都不相同,重要的数据也不相同,重要性也不一样,因此,每个人的备份思考角度都不一样! 备份分为两大部分,一个是每日备份经常性变动的重要数据, 一个则是每周备份就不常变动的信息.这个时候我就 ...
- 1036: [ZJOI2008]树的统计Count(树链剖分)
1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 19830 Solved: 8067[Submit ...
- Python 基础(一)
本章内容 1.编译和解释型语言的区别 2.Python的解释器 3.pyc文件 4.运行环境 5.变量 6.数据类型 7.字符编码 8.三元运算 编译和解释型语言的区别 编译器是把源程序的每一条语句都 ...
- Leetcode1--->数组中两数之和等于给定数
题目: 给定一个数组nums,目标数target.在数组中找到两数之和为target的数,返回两数的下标举例: Given nums = [2, 7, 11, 15], target = 9, Bec ...
- mongo以及mysql常用语句
db.user.find({']}}).pretty(); db.user.find({primaryPhone:).forEach(function(user){print('my phonenum ...
- sql server 学习分享
http://www.cnblogs.com/liu-chao-feng/p/6144872.html
- 【转】Building a RESTful Web Service
目标 构建一个service,接收如下HTTP GET请求: [plain] view plain copy http://localhost:8080/greeting 并返回如下JSON格式的 ...
- iOS开发笔记--UILabel的相关属性设置
在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard ...
- POJ #1025 Department
模拟题. 这题第一个障碍是现在少见的循环电梯 ('pater-noster' elevator) "The building has `pater-noster' elevator, i.e ...
- HDU——4162Shape Number(字符串的最小表示)
Shape Number Time Limit: 24000/12000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...