记忆化搜索,动态规划(旅行,uva 1347)
看到这题想起了一个网络流的题目,就是说找两条不相交的路,使得总花费最短,解决办法是拆点法。
这道题用网络流做边太多了,估计不行。。。
#include<bits/stdc++.h>
#define maxn 1010
using namespace std;
typedef long long ll;ll n;
struct pt
{ll x,y;
};
pt PT[maxn];
double dp[maxn][maxn];double dist(ll a,ll b)
{ll x=PT[a].x-PT[b].x;ll y=PT[a].y-PT[b].y;return sqrt(x*x+y*y);
}double DP(ll i,ll j)
{double& ans=dp[i][j];if(ans>0) return ans;if(i==n-1) ans=dist(i,n)+dist(j,n);else ans=min(DP(i+1,j)+dist(i,i+1),DP(i+1,i)+dist(j,i+1));return ans;
}int main()
{while(scanf("%I64d",&n)!=EOF){for(ll i=1;i<=n;i++)scanf("%I64d %I64d",&PT[i].x,&PT[i].y);for(ll i=1;i<=n;i++)for(ll j=1;j<=i;j++)dp[i][j]=-1;printf("%.2lf\n",DP(2,1)+dist(2,1));}return 0;
}
记忆化搜索,动态规划(旅行,uva 1347)相关推荐
- [蓝桥杯]算法提高 第二点五个不高兴的小明(记忆化搜索||动态规划)
问题描述 有一条长为n的走廊,小明站在走廊的一端,每次可以跳过不超过p格,每格都有一个权值wi. 小明要从一端跳到另一端,不能回跳,正好跳t次,请问他跳过的方格的权值和最大是多少? 输入格式 输入的第 ...
- [Leetcode][第322题][JAVA][零钱兑换][回溯][记忆化搜索][动态规划]
[问题描述][中等] [解答思路] 1. 递归(超时) class Solution {int res = Integer.MAX_VALUE;public int coinChange(int[] ...
- 递归 dfs 记忆化搜索 动态规划
今天做洛谷P1434 [SHOI2002]滑雪 的时候仔细想了想记忆化搜索 现在总结一下 为了描述问题的某一状态,必须用到该状态的上一状态,而描述上一状态,又必须用到上一状态的上一状态--这种用自已来 ...
- DFS——记忆化搜索——动态规划
以洛谷P1802 5倍经验日 为例 https://www.luogu.org/problem/show?pid=1802 题目背景 现在乐斗有活动了!每打一个人可以获得5倍经验!absi2011却 ...
- ZOJ - 2972 Hurdles of 110m(记忆化搜索/动态规划)
题目链接:点击查看 题目大意:给定n个点,以及m的最大体力值,共有三个状态通过每个点 快速模式:消耗时间t1,消耗体力f1 匀速模式:消耗时间t2 慢速模式:消耗时间t3,恢复体力f2 问:通过n个点 ...
- 动态规划:记忆化搜索
记忆化搜索和递推都是为了解决子问题重复计算而产生的 虽然动态规划的转移图是一个DAG,但是一个状态可以被其他的状态复用多次 因此为了提高动态规划的效率,记忆化搜索便产生了 但是有时候,状态转移图是不容 ...
- 【UVA 437】The Tower of Babylon(记忆化搜索写法)
[题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- 【BZOJ1048】分割矩阵(记忆化搜索,动态规划)
[BZOJ1048]分割矩阵(记忆化搜索,动态规划) 题面 BZOJ 洛谷 题解 一个很简单的\(dp\),写成记忆化搜索的形式的挺不错的. #include<iostream> #inc ...
- [Leetcode][第312题][JAVA][戳气球][动态规划][记忆化搜索]
[问题描述][困难] [解答思路] 1. 记忆化搜索 时间复杂度:O(n^3) 空间复杂度:O(n^2) class Solution {public int[][] rec;public int[] ...
- 记忆化搜索=搜索的形式+动态规划的思想(来自百度百科)
记忆化搜索=搜索的形式+动态规划的思想 记忆化搜索:算法上依然是搜索的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存. 一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态. ...
最新文章
- IIS6配置Asp.net MVC运行环境
- vuex保存用户信息_你想要的,vuex干货分享
- redis安装(windows)
- 小程序bindtap参数传递
- 计算机数据库原理试题,计算机科学与技术专业《数据库原理》模拟试题(B)
- 读者诉苦:Redis 宕机,数据丢了,老板要辞退我
- IOS学习笔记05---C语言程序的开发运行过程
- Android开发实践:自定义ViewGroup的onLayout()分析
- HighCharts:隐藏最下方logo
- 图书管理系统C语言课程设计
- php 查看本机ip,查看本机ip地址用什么命令
- 松下PLC 三个单位的延时定时器指令的使用
- adobe creative cloud的开机自启如何阻止
- cocos2d 物理平抛,斜抛运动
- 数字电子技术-逻辑门电路
- 在html中加入高德地图,javascript高德地图放到网页中的方法
- 基于Python的离线OCR图片文字识别(三)——支持PDF文件
- 使用Blend的一些问题
- JN项目-app首页订票功能实现
- QModelIndex