博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【动态规划】旅行
阅读量:7077 次
发布时间:2019-06-28

本文共 639 字,大约阅读时间需要 2 分钟。

思路


果断dp!!!

dp[i]表示第i远的旅店到终点的路程数.

那么,若j(j<i)可以到达i,就将dp[j]加上dp[i].

过于简单,不过多解释.

时间复杂度:O(n2).
空间复杂度:O(n).

Code


#include
#include
using namespace std;int a[50]={0,990,1010,1970,2030,2940,3060,3930,4060,4970,5030,5990,6010,7000};int dp[50];int A,B,n;int main(){ cin>>A>>B>>n; for(int i=1;i<=n;i++) { cin>>a[13+i]; } n+=13; sort(a+1,a+n+1); dp[n]=1; for(int i=n;i>=0;i--) { for(int j=i+1;j<=n;j++) { if (a[j]-a[i]>=A&&a[j]-a[i]<=B) dp[i]+=dp[j]; } } cout<
<

转载于:https://www.cnblogs.com/gongdakai/p/11031556.html

你可能感兴趣的文章
ASP.NET Cache的一些总结2
查看>>
JAVA中易出错的小问题(二)
查看>>
asp.net 用正则表达式过滤内容中的电话,qq,email
查看>>
1109 Group Photo
查看>>
Flutter插件开发之APK自动安装
查看>>
创建本地CM 离线服务器
查看>>
PHP数组操作——取数组最后一个值
查看>>
springboot集成swagger2
查看>>
UIScrollView中使用AutoLayout
查看>>
为什么用ls和du显示出来的文件大小有差别?
查看>>
node.js学习之流解析(一)
查看>>
YxdIOCP (DIOCP修改版)
查看>>
转:进程 线程 协程 管程 纤程 概念对比理解
查看>>
站内全文搜索
查看>>
scala函数和方法的差别
查看>>
苹果平台上的媒体流播放技术HLS
查看>>
图书馆管理系统程序设计
查看>>
WebService Rest接收大量数据出现基础连接已经关闭的解决方案
查看>>
小R的烦恼 BZOJ3280
查看>>
左神算法基础班4_5折纸问题
查看>>