描述

北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有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 且为整数)

输出

对于每组测试数据可能的最大利润

样例输入
2
3 11
1 2 15
10 2 30
3 16
1 2 15
10 2 30
样例输出
40
30
while True:try:T = int(input())for i in range(T):n, k = map(int, input().split())m = [int(i) for i in input().split()]   # 接收一行数字,以列表形式存储p = [int(i) for i in input().split()]dp = [p[i] for i in range(n)]  # 将p[]的值赋给dp[]for i in range(n):  # 0~(n-1)for j in range(i):  # 0~(i-1)if m[i] - m[j] > k:  # 距离符合开店条件dp[i] = max(dp[i], dp[j] + p[i])  # 选择地i个位置的话,0~i的最优方案print(max(dp))  # 基于每个位置的最优方案,选择全局的最优方案except:break

百练 4118 开餐馆相关推荐

  1. 百练 openjudge 开餐馆(动态规划)

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

  2. Bailian4118 开餐馆【DP】

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

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

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

  4. 一个记者辞职开餐馆的坎坷经历 《一碗羊汤这五年》(转)

    一个记者辞职开餐馆的坎坷经历 <一碗羊汤这五年>(转)    今天看到羊肉汤竟然是用汤膏熬制的,清水一加就变白这篇新闻,十分气愤啊有木有!现在还有什么是放心的?转篇之前看到的帖子(无任何做 ...

  5. 百练,4103,踩方格

    百练,4103,踩方格 普通做法:(也可以找规律) #include #include//要调用memset函数,头文件 using namespace std; int visited[50][50 ...

  6. 北大OJ百练——4075:矩阵旋转(C语言)

    百练的这道题很简单,通过率也达到了86%,所以我也就来贴个代码了...下面是题目: 不过还是说一下我的思路: 这道题对一个新来说,可能是会和矩阵的转置相混淆,这题并不是要我们去求矩阵的转置. 这题,我 ...

  7. 威佐夫博弈:百练OJ:1067:取石子游戏

    威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜. 百练OJ:1067:取石子游戏 ...

  8. 百练OJ:4003:十六进制转十进制(python三行代码实现)

    题目链接:百练OJ:4003 描述 将十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前 ...

  9. 百练OJ:2742:统计字符数

    题目链接: 百练OJ:2742:统计字符数 描述:判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多 输入:第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的 ...

  10. java函数实现进制转换与java实现八进制到十进制的转换(百练OJ:2735:八进制到十进制)

    java进制转换函数介绍:Java二进制.八进制.十进制.十六进制相互转换: 二进制转十进制 Integer.parseInt("0110", 2); 八进制转十进制 Intege ...

最新文章

  1. 如何通过 Serverless 轻松识别验证码?
  2. [STL][C++]STACK QUEUE
  3. HDU 1525 - Euclid's Game ( 博弈 )
  4. 使用高级程序设计语言实现集合的交并差运算
  5. spark应用程序转换_Spark—RDD编程常用转换算子代码实例
  6. 使用python构建三层神经网络、softmax函数
  7. so库文件控制导出符号
  8. 用MVC来实现javaScript的时间效果
  9. Windows上安装运行 cnpm, 来代替 npm
  10. Bailian4128 单词序列【BFS】
  11. 铺地毯(luogu 1003)
  12. THREEJS基础入门
  13. 酒店管理系统(功能结构图、流程图)
  14. 蓝桥杯之单片机学习(十)——PWM脉宽调制信号的发生与控制
  15. Router的路由表
  16. Java注解(Annotation)
  17. Android高级工程师面试实战,赶快收藏备战金九银十!
  18. flutter填坑之旅(环境搭建篇--mac系统)
  19. 【小菜虫的学习笔记--n5x刷机root】
  20. 3GPP TS 23501-g51 中英文对照 | 5.2.3 Identification and authentication

热门文章

  1. PyQt5 组合键
  2. 选择阿里云服务器的理由
  3. Python批量抓取swissadme数据——smiles
  4. UE4UMG系统入门
  5. 单机java游戏2D冒险_那些年,我们一起追的2D横版过关单机游戏
  6. iap支付java校验_iOS应用内支付(IAP)服务端端校验详解
  7. AR技术应用 の 如何做一个Pokemon GO这只皮卡丘是你的吗?
  8. 2020年chx的计算机保研之路系列(1)——北师大人工智能学院+北航计算机学院(均获得优营)
  9. 【修真院“正直”系列之三】【修真神界】【修行卷】【第一章】修真院入场券...
  10. 迁移学习与小样本学习