4118:开餐馆

总时间限制:

1000ms 
内存限制: 
65536kB
描述

北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 n 个地点排列在同一条直线上。我们用一个整数序列m1, m2, ... mn 来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。我们用pi 表示在mi 处开餐馆的利润。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于k。请你帮助小明选择一个总利润最大的方案。

输入
标准的输入包含若干组测试数据。输入第一行是整数T (1 <= T <= 1000) ,表明有T组测试数据。紧接着有T组连续的测试。每组测试数据有3行,
第1行:地点总数 n (n < 100), 距离限制 k (k > 0 && k < 1000).
第2行:n 个地点的位置m1 , m2, ... mn ( 1000000 > mi > 0 且为整数,升序排列)
第3行:n 个地点的餐馆利润p1 , p2, ... pn ( 1000 > pi > 0 且为整数)
输出
对于每组测试数据可能的最大利润
样例输入
23 111 2 1510 2 303 161 2 1510 2 30
样例输出
4030

动态规划的题目,就是计算每个位置所能获得的最大利润,再求最大值

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 105;
int dp[N],m[N],p[N];int main()
{int t,n,k;cin >> t;while(t--){cin >> n >> k;memset(dp,0,sizeof(dp));for(int i = 1;i <= n;i++)scanf("%d",&m[i]);for(int i = 1;i <= n;i++)scanf("%d",&p[i]);dp[1] = p[1];for(int i = 2;i <= n;i++){dp[i] = p[i];//每个位置的初始利润for(int j = 1;j < i;j++)if(m[i] - m[j] > k)dp[i] = max(dp[i],dp[j]+p[i]);//每个位置所能得到的最大利润}int maxn = 0;for(int i = 1;i <= n;i++)maxn = max(maxn,dp[i]);printf("%d\n",maxn);}return 0;
}

百练 openjudge 开餐馆(动态规划)相关推荐

  1. openjudge 开餐馆 【动态规划】

    Description 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择.小明打算从中选择合适的位置开设一些餐馆.这 n 个地点排列在同一条直线上.我们用一个整数序列m1, m ...

  2. openjudge 开餐馆(动态规划)

    开餐馆 总时间限制:  1000ms  内存限制:  65536kB 描述 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择.小明打算从中选择合适的位置开设一些餐馆.这 n 个 ...

  3. openjudge开餐馆

    6045:开餐馆 描述 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择.小明打算从中选择合适的位置开设一些餐馆.这 n 个地点排列在同一条直线上.我们用一个整数序列m1, m ...

  4. NOI 2.6 动态规划 6045:开餐馆

    题目来源:http://noi.openjudge.cn/ch0206/6045/ 6045:开餐馆 总时间限制: 1000ms   内存限制: 65536kB 描述 北大信息学院的同学小明毕业之后打 ...

  5. 【动态规划DP】开餐馆

    题目:原题连接 描述 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择.小明打算从中选择合适的位置开设一些餐馆.这 n 个地点排列在同一条直线上.我们用一个整数序列m1, m2 ...

  6. 58 - 算法 -分治问题 - 循环 二分查找 OpenJudge 百练 4143和为给定数

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cmath ...

  7. 北大培训课动态规划----神奇的口袋(百练2755)

    北京大学暑期课<ACM/ICPC竞赛训练> ppt摘取 什么是动态规划? ●递归到动规的一般转化方法  递归函数有n个参数,就定义一个n维的数组,数组 的下标是递归函数参数的取值范围,数组 ...

  8. ACM: 百练NOI——基本算法之动态规划

    文章目录 Maximum sum(求两个不重叠子区间最大和) Post Office(感觉题解有问题) 最长上升子序列 最大子矩阵 采药(0-1背包) 最长公共子序列 吃糖果 登山 最长公共上升子序列 ...

  9. 水题: OpenJudge (百练 )2807 : 两倍

    (百练 )2807 : 两倍 (http://bailian.openjudge.cn/practice/2807/) 描述 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对 ...

最新文章

  1. 【干货】南京大学《模式识别》PPT
  2. glog 报错解决: /bin/bash: aclocal-1.14: command not found
  3. js 显示当前时间(年月日时分秒)——getYear()与getFullYear()
  4. Android 解决导入多个module时jar包冲突
  5. 解决保存快照失败后redis无法写入的问题( Redis is configured to save RDB snapshots)
  6. mysql更改安装路径命令_如何修改mysql的安装路径
  7. python飞机大战源码以及素材资源
  8. android ppt 自动播放视频,ppt如何循环播放,ppt如何添加视频设置自动播放(ppt转换成视频)...
  9. CentOS 6.5 CentOS 7 rpm安装ftp服务端与ftp客户端
  10. java-net-php-python-23jspm在线学习设计计算机毕业设计程序
  11. piece table 的C语言简单实现
  12. ECharts-中国省市地图
  13. CRC-CCITT16(0xFFFF、XModem、0x1D0F、Kermit)
  14. 【mac】nvm 的安装和使用,解决mac重启node not found,每次都得source ~/.bash_profile
  15. 连接共享打印机提示【操作失败,错误为0x0000011b】
  16. win32 8.2 使用通用对话框
  17. vectorvn1610报价_VECTORVN1610
  18. PS CC 2018 图层
  19. pe文件中的3处Characteristics
  20. word,鼠标每点击一次,总转圈一会

热门文章

  1. 有网络登不上QQ0000001错误
  2. fileoutputstream 字节乱码_吃透Java IO:字节流、字符流、缓冲流
  3. 添加网络adb的方法
  4. java计算限流工具
  5. 基于MATLAB的动态前景目标特征提取与运动跟踪
  6. 盘点最受欢迎的十大技术文章
  7. SSH:Hibernate框架(七种关联关系映射及配置详解)
  8. 搜索+浏览合二为一的Slikk
  9. 企业网中有哪些常见的网络设备?它有什么功能?
  10. Linux 非root用户安装CUDA,CUDNN