百练 4118 开餐馆
描述
北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有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 开餐馆相关推荐
- 百练 openjudge 开餐馆(动态规划)
4118:开餐馆 总时间限制: 1000ms 内存限制: 65536kB 描述 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择.小明打算从中选择合适的位置开设一些餐馆.这 ...
- Bailian4118 开餐馆【DP】
4118:开餐馆 总时间限制: 1000ms 内存限制: 65536kB 描述 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择.小明打算从中选择合适的位置开设一些餐馆.这 n ...
- 【动态规划DP】开餐馆
题目:原题连接 描述 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择.小明打算从中选择合适的位置开设一些餐馆.这 n 个地点排列在同一条直线上.我们用一个整数序列m1, m2 ...
- 一个记者辞职开餐馆的坎坷经历 《一碗羊汤这五年》(转)
一个记者辞职开餐馆的坎坷经历 <一碗羊汤这五年>(转) 今天看到羊肉汤竟然是用汤膏熬制的,清水一加就变白这篇新闻,十分气愤啊有木有!现在还有什么是放心的?转篇之前看到的帖子(无任何做 ...
- 百练,4103,踩方格
百练,4103,踩方格 普通做法:(也可以找规律) #include #include//要调用memset函数,头文件 using namespace std; int visited[50][50 ...
- 北大OJ百练——4075:矩阵旋转(C语言)
百练的这道题很简单,通过率也达到了86%,所以我也就来贴个代码了...下面是题目: 不过还是说一下我的思路: 这道题对一个新来说,可能是会和矩阵的转置相混淆,这题并不是要我们去求矩阵的转置. 这题,我 ...
- 威佐夫博弈:百练OJ:1067:取石子游戏
威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜. 百练OJ:1067:取石子游戏 ...
- 百练OJ:4003:十六进制转十进制(python三行代码实现)
题目链接:百练OJ:4003 描述 将十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前 ...
- 百练OJ:2742:统计字符数
题目链接: 百练OJ:2742:统计字符数 描述:判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多 输入:第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的 ...
- java函数实现进制转换与java实现八进制到十进制的转换(百练OJ:2735:八进制到十进制)
java进制转换函数介绍:Java二进制.八进制.十进制.十六进制相互转换: 二进制转十进制 Integer.parseInt("0110", 2); 八进制转十进制 Intege ...
最新文章
- 如何通过 Serverless 轻松识别验证码?
- [STL][C++]STACK QUEUE
- HDU 1525 - Euclid's Game ( 博弈 )
- 使用高级程序设计语言实现集合的交并差运算
- spark应用程序转换_Spark—RDD编程常用转换算子代码实例
- 使用python构建三层神经网络、softmax函数
- so库文件控制导出符号
- 用MVC来实现javaScript的时间效果
- Windows上安装运行 cnpm, 来代替 npm
- Bailian4128 单词序列【BFS】
- 铺地毯(luogu 1003)
- THREEJS基础入门
- 酒店管理系统(功能结构图、流程图)
- 蓝桥杯之单片机学习(十)——PWM脉宽调制信号的发生与控制
- Router的路由表
- Java注解(Annotation)
- Android高级工程师面试实战,赶快收藏备战金九银十!
- flutter填坑之旅(环境搭建篇--mac系统)
- 【小菜虫的学习笔记--n5x刷机root】
- 3GPP TS 23501-g51 中英文对照 | 5.2.3 Identification and authentication
热门文章
- PyQt5 组合键
- 选择阿里云服务器的理由
- Python批量抓取swissadme数据——smiles
- UE4UMG系统入门
- 单机java游戏2D冒险_那些年,我们一起追的2D横版过关单机游戏
- iap支付java校验_iOS应用内支付(IAP)服务端端校验详解
- AR技术应用 の 如何做一个Pokemon GO这只皮卡丘是你的吗?
- 2020年chx的计算机保研之路系列(1)——北师大人工智能学院+北航计算机学院(均获得优营)
- 【修真院“正直”系列之三】【修真神界】【修行卷】【第一章】修真院入场券...
- 迁移学习与小样本学习