问题描述小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是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实现)相关推荐

  1. 2017蓝桥杯 对局匹配(贪心)

    历届试题 对局匹配 时间限制:1.0s 内存限制:256.0MB 问题描述 小明喜欢在一个围棋网站上找别人在线对弈.这个网站上所有注册用户都有一个积分,代表他的围棋水平. 小明发现网站的自动对局系统在 ...

  2. 2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解

    2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解 文章目录 2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解 试题 F:时间显示 题目描述 输入描述 输出描述 输入输出 ...

  3. 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑

    题目链接 Ideas 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑 Code Python if __name__ == '__main__':n = int(input( ...

  4. 蓝桥杯龟兔赛跑预测Python(超详细!!)

    蓝桥杯龟兔赛跑预测Python 问题描述(简单描述) 龟兔赛跑,跑道长l米,如果兔子比乌龟快t米,兔就会停下来休息s秒,有一者到达终点则停止比赛. 兔子速度为v1,乌龟速度为v2,输入v1.v2.t. ...

  5. 蓝桥杯算法(python)

    蓝桥杯第三级别--算法. 蓝桥杯的考察重点:加黑重点 (括号内了解) 算法:枚举.排序.搜索.计数.贪心.动态规划.图论.数论.博弈论.概率论.计算几何.字符串算法.(递归.二分查找.哈希算法.分治算 ...

  6. 第十三届蓝桥杯省赛 python B组复盘(三道代码题全AC居然省一了)

    第十三届蓝桥杯省赛 python B组复盘(三道代码题全AC居然省一了)

  7. 蓝桥杯 日志统计 Python

    蓝桥杯 日志统计 Python 一.题目 输入格式 输出格式 样例输入 样例输出 二.Python代码 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一.题目 小明维护着一个程序员论坛.现在他 ...

  8. 第十三届蓝桥杯省赛python(B组)赛后总结

    前言:这次蓝桥杯比赛,我获得了python组的二等奖(下图中最后一行是我,差几名拿省一).其实能获得这个成绩也算意料之外,情理之中吧.赛前也挺迷茫,自己到底能不能获奖,已经大三下了,还要准备考教资,找 ...

  9. 2020年软件类第十一届蓝桥杯 省赛 python组(人生苦短,我用python)

    2020年软件类第十一届蓝桥杯 省赛 python组 题解 文章目录 2020年软件类第十一届蓝桥杯 省赛 python组 题解 试题 A: 门牌制作 试题 B: 寻找 2020 试题 C: 跑步训练 ...

最新文章

  1. 搜索引擎优化培训教程
  2. 序列化在反序列化时无法加载程序集的问题
  3. 访问SAP C4C Business Configuration工作中心时遇到的错误信息
  4. AOP+自定义注解 实现service统一的异常信息处理
  5. oracle无效的十六进制数字,值java.sql.SQLException:ORA-01465:无效的十六进制数
  6. git 无法提交空目录
  7. 黑苹果OC引导配置制作小工具:一键制作黑苹果OpenCore EFI文件
  8. was日志报检测到cpu饥饿
  9. 兄弟j220怎么清零_兄弟j220怎么清零_兄弟Brother全系列打印机清零大全
  10. 汉印科技大会:凝聚匠心 成就卓越民族打印机品牌
  11. 评价微型计算机有哪些主要性能指标,计算机性能指标有哪些
  12. vPlayer 模块Demo
  13. Unipus-writing exercise Expository_Text_09
  14. 基于matlab算法的可靠度分析,参考基于matlab算法的可靠度分析
  15. 混合云存储跨云灾备方案之跨云备份
  16. [VS2010]读秀资源咨询法下载器:逸雨清风读秀批量下载 V5.20 2015-5-20
  17. 04.第五章、范围管理
  18. 在Excel中填写空白单元格以完成表格
  19. Siemens Simcenter FloEFD 2021.2.0 for Catia V5
  20. MEMS传感器的6大种类简介-传感器专题

热门文章

  1. 使用Nordic的nrf52840实现蓝牙DFU过程
  2. lavaral中文手册_Laravel-mix 中文文档
  3. 孙玄:斗胆谈一谈,大数据中台战略,究竟应该如何落地?
  4. 学籍信息管理系统c语言编程,学生学籍信息管理系统C语言设计.doc
  5. 高质量实时渲染课程笔记(三)— 实时阴影渲染1(Shadow Mapping、PCF、PCSS)
  6. Workstation安装中标麒麟操作系统V7
  7. 系统架构师——统一建模语言(UML)
  8. WMS仓储管理系统解决方案能帮助电子企业解决哪些问题
  9. MATLAB蚁群算法、遗传算法、粒子群算法解决TSP问题(可以直接运行)
  10. 文本分类算法TextCNN