青蛙的烦恼(dp好题)

有n片荷叶正好在一凸多边形顶点上

有一只小青蛙恰好站在1号荷叶的点

小青蛙可以从一片荷叶上跳到另外任意一片荷叶上

给出N个点的坐标N<800

求小青蛙想通过最短的路程遍历所有的荷叶一次且仅一次的最短路径。

这题如果没有凸多边形的性质,就是裸的TSP问题,数据范围没法做的很大,用dp做也最多做到n=20左右,即使用更高级的退火模拟算法也只能到40左右。

但是这题的点在凸多边形上,因此有下面的性质:

青蛙遍历的路径不会相交。

证明很简单,画个图,利用三角形两边之和大于第三边即可。

结论:青蛙在1号结点只能跳到2号结点或者n号结点。

如果青蛙跳到了2号结点,则问题转化为:从2出发,遍历2..n一次仅一次的最短距离。

如果青蛙跳到了n号结点,则问题转化为:从n出发,遍历2..n一次仅一次的最短距离。

这实际上是递归的思维,把问题转化为了本质相同但规模更小的子问题;

F(s,L,0)表示从s出发,遍历s..s+L-1一次且仅一次的最短距离;

F(s, L,1)表示从s+L-1出发,遍历s..s+L-1一次且仅一次的最短距离。状态转移方程为:

F[s][L][0]=min{F[s+1][L-1][0]+dist[s][s+1],F[s+L-1][L-1][1]+dist[s][s+L-1]};

F[s][L][1]=min{F[s][L-1][1]+dist[s+L-1][S+L-2],F[s][L-1][0]+dist[s][s+L-1]};

青蛙的烦恼(dp好题),布布扣,bubuko.com

时间: 2024-12-23 15:38:51

青蛙的烦恼(dp好题)的相关文章

【动态规划dp】青蛙的烦恼

青蛙的烦恼(frog) 原文:https://blog.csdn.net/xyc1719/article/details/79844952 [题目描述] 池塘中有 n 片荷叶恰好围成了一个凸多边形,有一只小青蛙恰好站在 1 号荷叶上,小青蛙想通过 最短的路程遍历所有的荷叶(经过一个荷叶一次且仅一次),小青蛙可以从一片荷叶上跳到另外任意一 片荷叶上. [输入格式] 第一行为整数 n,荷叶的数量. 接下来 n 行,每行两个实数,为 n 个多边形的顶点坐标,按照顺时针方向给出.保证不会爆 double

hdu 5001 walk 概率dp入门题

Description I used to think I could be anything, but now I know that I couldn't do anything. So I started traveling. The nation looks like a connected bidirectional graph, and I am randomly walking on it. It means when I am at node i, I will travel t

POJ 1155 TELE 背包型树形DP 经典题

由电视台,中转站,和用户的电视组成的体系刚好是一棵树 n个节点,编号分别为1~n,1是电视台中心,2~n-m是中转站,n-m+1~n是用户,1为root 现在节点1准备转播一场比赛,已知从一个节点传送数据到达另一个节点,电视台需要一定的费用 若可以传送数据到达用户的节点n-m+1~n,这些用户各自愿意支付一定的费用给电视台 现在电视台希望在不亏本的情况下为尽量多的用户转播比赛 输出最多可以为多少用户转播比赛 背包类型的树形DP第一题 dp[i][j]表示以节点i为根的子树有j个用户获得转播,电视

POJ 2411 &amp;&amp; HDU 1400 Mondriaan&#39;s Dream (状压dp 经典题)

Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 12341   Accepted: 7204 Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing the drawings in his 'toilet series

快餐问题(dp好题)

Peter最近在R市开了一家快餐店,为了招揽顾客,该快餐店准备推出一种套餐,该套餐由A个 汉堡,B个薯条和C个饮料组成.价格便宜.为了提高产量,Peter从著名的麦当劳公司引进了N条 生产线.所有的生产线都可以生产汉堡,薯条和饮料,由于每条生产线每天所能提供的生产时间是有 限的.不同的,而汉堡,薯条和饮料的单位生产时间又不同.这使得Peter很为难,不知道如何安排 生产才能使一天中生产的套餐产量最大.请你编一程序,计算一天中套餐的最大生产量.为简单起见, 假设汉堡.薯条和饮料的日产量不超过100

URAL 1039 Anniversary Party 树形DP 水题

1039. Anniversary Party Time limit: 0.5 secondMemory limit: 8 MB Background The president of the Ural State University is going to make an 80'th Anniversary party. The university has a hierarchical structure of employees; that is, the supervisor rela

13年山东省赛 The number of steps(概率dp水题)

转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud The number of steps Time Limit: 1 Sec  Memory Limit: 128 M Description Mary stands in a strange maze, the maze looks like a triangle(the first layer have one room,the second layer have two ro

周游加拿大(dp好题)

你赢得了一场航空公司举办的比赛,奖品是一张加拿大环游机票.旅行在这家航空公司开放的最 西边的城市开始,然后一直自西向东旅行,直到你到达最东边的城市,再由东向西返回,直到你回到 开始的城市.每个城市只能访问一次,除了旅行开始的城市之外,这个城市必定要被访问两次(在旅 行的开始和结束) .你不允许使用其他公司的航线或者用其他的交通工具. 给出这个航空公司开放的城市的列表,和两两城市之间的直达航线列表.找出能够访问尽可能多 的城市的路线,这条路线必须满足上述条件,也就是从列表中的第一个城市开始旅行,访

火车安排问题(dp好题)

火车站内往往设有一些主干线分叉出去的铁路支路,供火车停靠,以便上下客或装载货物.铁路 支路有一定长度:火车也有一定的长度,且每列火车的长度相等. 假设某东西向的铁路上,有一小站.该站只有一条铁路支路可供火车停靠,并且该铁路支路最多 能容纳 M 辆火车.为了火车行驶的通畅,该站只允许火车自东方进站,自西方出站,且先进站的火车 必须先出站,否则,站内火车将发生堵塞. 该火车站工作任务繁忙.每天都有 N 辆自东方驶向西方的火车要求在预定时刻进站,并在站内作 一定时间的停靠.为了满足每辆进站火车的要求,