蓝桥杯 对局匹配(python实现)
问题描述小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。现在小明知道这个网站总共有N名用户,以及他们的积分分别是A1, A2, ... AN。小明想了解最多可能有多少名用户同时在线寻找对手,但是系统却一场对局都匹配不起来(任意两名用户积分差不等于K)?
输入格式第一行包含两个个整数N和K。第二行包含N个整数A1, A2, ... AN。对于30%的数据,1 <= N <= 10对于100%的数据,1 <= N <= 100000, 0 <= Ai <= 100000, 0 <= K <= 100000
输出格式一个整数,代表答案。
样例输入
10 0
1 4 2 8 5 7 1 4 2 8
样例输出
6
这道题其实可以转换为多个动态规划问题,因为这里的差值只要是k就不能同时选,于是将差值为k的划分为一组,然后对每一组进行动态规划即可,公式为
dp[i] = max(dp[i-k] ,value[i]+dp[i-2k]) #s
代码如下
from collections import defaultdict
N,K = map(int,input().split())
value = list(map(int,input().split())) #放在了value数组中
maxvalue = max(value)
dp = [0 for i in range(maxvalue+1)] dict1 = defaultdict(int)
for i in value:dict1[i]+=1
sumvalue = 0 #使用了
if(K==0):for i,j in dict1.items():if(j!=0):sumvalue+=1
else:for i in range(0,K): #以maxindex=0for j in range(i,maxvalue+1,K): #也就是以k为间隔,逐步找到if(j-2*K>=0): #如果有三个不同的值dp[j] = max(dp[j-2*K]+dict1[j],dp[j-K]) #每次找到dpelif(j-K>=0): #如果只隔了一个值dp[j] = max(dict1[j],dp[j-K])else: #只含有一个值dp[j] = dict1[j] #使用了j进行maxindex = j #最后的indexsumvalue+=dp[maxindex] #
print(sumvalue)
蓝桥杯 对局匹配(python实现)相关推荐
- 2017蓝桥杯 对局匹配(贪心)
历届试题 对局匹配 时间限制:1.0s 内存限制:256.0MB 问题描述 小明喜欢在一个围棋网站上找别人在线对弈.这个网站上所有注册用户都有一个积分,代表他的围棋水平. 小明发现网站的自动对局系统在 ...
- 2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解
2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解 文章目录 2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解 试题 F:时间显示 题目描述 输入描述 输出描述 输入输出 ...
- 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑
题目链接 Ideas 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑 Code Python if __name__ == '__main__':n = int(input( ...
- 蓝桥杯龟兔赛跑预测Python(超详细!!)
蓝桥杯龟兔赛跑预测Python 问题描述(简单描述) 龟兔赛跑,跑道长l米,如果兔子比乌龟快t米,兔就会停下来休息s秒,有一者到达终点则停止比赛. 兔子速度为v1,乌龟速度为v2,输入v1.v2.t. ...
- 蓝桥杯算法(python)
蓝桥杯第三级别--算法. 蓝桥杯的考察重点:加黑重点 (括号内了解) 算法:枚举.排序.搜索.计数.贪心.动态规划.图论.数论.博弈论.概率论.计算几何.字符串算法.(递归.二分查找.哈希算法.分治算 ...
- 第十三届蓝桥杯省赛 python B组复盘(三道代码题全AC居然省一了)
第十三届蓝桥杯省赛 python B组复盘(三道代码题全AC居然省一了)
- 蓝桥杯 日志统计 Python
蓝桥杯 日志统计 Python 一.题目 输入格式 输出格式 样例输入 样例输出 二.Python代码 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一.题目 小明维护着一个程序员论坛.现在他 ...
- 第十三届蓝桥杯省赛python(B组)赛后总结
前言:这次蓝桥杯比赛,我获得了python组的二等奖(下图中最后一行是我,差几名拿省一).其实能获得这个成绩也算意料之外,情理之中吧.赛前也挺迷茫,自己到底能不能获奖,已经大三下了,还要准备考教资,找 ...
- 2020年软件类第十一届蓝桥杯 省赛 python组(人生苦短,我用python)
2020年软件类第十一届蓝桥杯 省赛 python组 题解 文章目录 2020年软件类第十一届蓝桥杯 省赛 python组 题解 试题 A: 门牌制作 试题 B: 寻找 2020 试题 C: 跑步训练 ...
最新文章
- 搜索引擎优化培训教程
- 序列化在反序列化时无法加载程序集的问题
- 访问SAP C4C Business Configuration工作中心时遇到的错误信息
- AOP+自定义注解 实现service统一的异常信息处理
- oracle无效的十六进制数字,值java.sql.SQLException:ORA-01465:无效的十六进制数
- git 无法提交空目录
- 黑苹果OC引导配置制作小工具:一键制作黑苹果OpenCore EFI文件
- was日志报检测到cpu饥饿
- 兄弟j220怎么清零_兄弟j220怎么清零_兄弟Brother全系列打印机清零大全
- 汉印科技大会:凝聚匠心 成就卓越民族打印机品牌
- 评价微型计算机有哪些主要性能指标,计算机性能指标有哪些
- vPlayer 模块Demo
- Unipus-writing exercise Expository_Text_09
- 基于matlab算法的可靠度分析,参考基于matlab算法的可靠度分析
- 混合云存储跨云灾备方案之跨云备份
- [VS2010]读秀资源咨询法下载器:逸雨清风读秀批量下载 V5.20 2015-5-20
- 04.第五章、范围管理
- 在Excel中填写空白单元格以完成表格
- Siemens Simcenter FloEFD 2021.2.0 for Catia V5
- MEMS传感器的6大种类简介-传感器专题
热门文章
- 使用Nordic的nrf52840实现蓝牙DFU过程
- lavaral中文手册_Laravel-mix 中文文档
- 孙玄:斗胆谈一谈,大数据中台战略,究竟应该如何落地?
- 学籍信息管理系统c语言编程,学生学籍信息管理系统C语言设计.doc
- 高质量实时渲染课程笔记(三)— 实时阴影渲染1(Shadow Mapping、PCF、PCSS)
- Workstation安装中标麒麟操作系统V7
- 系统架构师——统一建模语言(UML)
- WMS仓储管理系统解决方案能帮助电子企业解决哪些问题
- MATLAB蚁群算法、遗传算法、粒子群算法解决TSP问题(可以直接运行)
- 文本分类算法TextCNN