【蓝桥杯官网训练 - 历届试题】对局匹配(dp,思维,取模)

题干:

问题描述

  小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。

  小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是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下的不同值),这样每一份之间互不影响。我们分开求解。

  其实最先想到的是建k棵树,然后就是上下级间不能全选的树形dp的问题了,对于每个节点,权值就是该数出现的个数,但是注意到这题每个节点只会有一个孩子(除了最后一个元素)和一个父亲(除了第一个元素),所以其实是组成了一条链,这就好做多了,没出现过就代表权值为0呗,反正就,不影响算法的设计。

注意k==0的时候要特判一下就行了。

AC代码:
 

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
const int MAX = 2e5 + 5;
int bk[MAX],maxx;
int a[MAX];
int dp[MAX][2];
int n,k;
int deal(int bei) {vector<int> vv;vv.pb(0);int res = 0;for(int i = bei; i<=maxx; i+=k) {vv.pb(bk[i]);}int up = vv.size() - 1;for(int i = 1; i<=up; i++) {dp[i][0] = max(dp[i-1][0],dp[i-1][1]);dp[i][1] = dp[i-1][0] + vv[i];}return max(dp[up][0],dp[up][1]);
}
int main() 
{cin>>n>>k;for(int i = 1; i<=n; i++) {scanf("%d",a+i);maxx = max(maxx,a[i]);bk[a[i]]++;}sort(a+1,a+n+1);if(k == 0) {printf("%d\n",unique(a+1,a+n+1) - a - 1);return 0 ;}ll ans = 0;for(int i = 0; i<k; i++) {ans += 1LL * deal(i);}printf("%lld\n",ans);return 0 ;
}
/*
5 3
1 4 7 2 4
*/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#12星座速配代码_白羊座今日运势|2020/12/11

整体运势&#xff1a;★★★☆☆爱情运势&#xff1a;★★☆☆☆事业运势&#xff1a;★★☆☆☆财富运势&#xff1a;★★★☆☆幸运数字&#xff1a;7速配星座&#xff1a;金牛座幸运颜色&#xff1a;橙色幸运时刻&#xff1a;12:00-14:00整体运势&#xff1a;接收的消息会比…

计算机网络基础端口号,1 计算机网络基础练习

Ch1 计算机网络基础1.以下网络结构当中哪一种的安全性和保密性较差A. mesh(网状)B. treeC. busD. star2.OSI 参考模型中的OSI 表示的是A. Organization Standard InstituteB. Organization Standard InterconnectionC. Open System InternetD. Open System Interconnection3.多…

【ZOJ - 2969】Easy Task (模拟,数学)

题干&#xff1a; Calculating the derivation of a polynomial is an easy task. Given a function f(x) , we use (f(x)) to denote its derivation. We use x^n to denote xn. To calculate the derivation of a polynomial, you should know 3 rules: (1) (C)0 where C is…

怎么去掉拼写检查的红线_发动机温度过高,水箱“开锅”,我们到底该怎么办?...

车子开久了&#xff0c;难免会出现一些小故障&#xff0c;今天我们就来说一下关于发动机水温过高的问题&#xff0c;这也是老司机常说的“开锅”。发动机水温正常情况是在80-90摄氏度之间&#xff0c;一旦超过这个温度&#xff0c;也就是水温表过了红线的时候&#xff0c;我们就…

北大计算机类学什么,状元们去清华北大选了什么专业?计算机可不是首选,首选你想不到...

状元们去清华北大选了什么专业&#xff1f;计算机可不是首选&#xff0c;首选你想不到。清华大学、北京大学基本上能代表我国国内的顶尖的教育水平&#xff0c;他的生源也是来自于各个地区的佼佼者&#xff0c;我想大家或多或少都会好奇这些状元的首选专业是哪一个专业吧。是近…

【ZOJ - 2972】Hurdles of 110m (dp)

题干&#xff1a; In the year 2008, the 29th Olympic Games will be held in Beijing. This will signify the prosperity of China and Beijing Olympics is to be a festival for people all over the world as well. Liu Xiang is one of the famous Olympic athletes i…

格式说明_ISO11784/85 FDX-B动物芯片格式写码说明

植入式生物芯片口蹄疫、疯牛病、禽流感、非洲猪瘟的蔓延严重危及人类生命安全&#xff0c;引发了人们对动物性食品生产全过程安全追溯管理的重视。因此&#xff0c;有效地利用非接触式无线射频技术(RFID)对其进行控制成为有效的重要手段。一、国际动物识别标准介绍ISO 11784&am…

html手机网站font-size:16em,px、em、rem

px、em、rempx 是固定的长度单位em 是父元素的font-size(字体大小)的值&#xff0c;常用来设置首行缩进2em(2字符)rem 是根节点(html&#xff0c;body)的font-size(字体大小)的值&#xff0c;可以用来做移动端的自适应。为什么要适配移动端px像素(pixel)相对长度单位。相对于显…

1至9填入九个方框内_防水涂料和施工堵漏的“五大技巧”和“九个细节”

防水涂料和施工堵漏的“五大技巧”和“九个细节”很多业主会在留言里问我家里水管堵了、房顶渗水怎么办&#xff0c;所以防水问题不可忽视。让您住的安心&#xff0c;您楼下的邻居也住的安心。对于防水问题&#xff0c;一定要在最初进行装修的时候就特别注意。下面这些是专业人…

限制 计算机中 某用户上网 win7,利用win7限制上网时间的方法

随着电脑的普及&#xff0c;很多家长为了让自己的孩子能有更广泛的知识&#xff0c;都给自己的孩子买了电脑&#xff0c;可现在很多孩子使用电脑却很少耗费在学习上&#xff0c;更多的时间是在娱乐&#xff0c;这样不仅影响学习而且还影响着视力&#xff0c;这样的问题相信困扰…

【ZOJ - 2976】Light Bulbs (枚举,暴力)

题干&#xff1a; Wildleopard had fallen in love with his girlfriend for 20 years. He wanted to end the long match for their love and get married this year. He bought a new house for his family and hired a company to decorate his house. Wildleopard and his…

dataframe去重复 python_python – 在DataFrame中组合重复的列

如果我的数据框具有包含相同名称的列,是否有办法将具有相同名称的列与某种功能(即总和)组合在一起&#xff1f;例如&#xff1a;In [186]:df["NY-WEB01"].head()Out[186]:NY-WEB01 NY-WEB01DateTime2012-10-18 16:00:00 5.6 2.82012-10-18 17:00:00 18.6 12.02012-10…

为什么计算机编程以英语为主,为什么做编程都用英文,中文不行吗?听程序员解释完,总算明白了...

今天我们科普的话题是&#xff1a;为什么做编程都用英文&#xff0c;中文不行吗&#xff1f;听程序员解释完&#xff0c;总算明白了不知道大家最近有没有追过一部电视剧&#xff0c;它是《亲爱的热爱的》&#xff0c;由李现和杨紫主演的。主要讲述了这对情侣发生的浪漫爱情故事…

【HRBUST - 1613】迷宫问题 (bfs)

题干&#xff1a; 小z身处在一个迷宫中&#xff0c;小z每分钟可以走到上下左右四个方向的相邻格之一。迷宫中有一些墙和障碍物。 同时迷宫中也有一些传送门&#xff0c;当小z走到任意一个传送门时&#xff0c;可以选择传送到其他任意的传送门(传送是不花费时间的)&#xff0c;…

eclipse 跑maven命令_eclipse中运行maven命令没有反应,console也不出现信息

eclipse的maven项目中&#xff0c;在run as/Debug as 执行maven命令的时候发现毫无反应&#xff0c;console也不打印信息原因是因为没有传参数&#xff0c;解决办法如下&#xff1a;1.打开eclipse的window菜单&#xff1a;Preferences -->?Java?--> Installed JREs2.选…

html的技术标准网站,HTML5标准最新技术预览

已经存在近十年的HTML4已经成为不断发展的Web开发领域的瓶颈&#xff1b;HTML5标准在此时显得尤为重要。每天都有新颖而创新的网站出现&#xff0c;全方位地拓展HTML的边界。Web开发者正在寻求新的技术&#xff0c;提供更强大的功能&#xff0c;那些因为脚本语言和浏览器的限制…

【Hihocoder - offer编程练习赛86 - C】跳数游戏(STLset或map预处理,dp)

题干&#xff1a; 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个长度为N的数组A1, A2, ... AN&#xff0c;请你判断其中有几个元素Ai按如下跳跃规则能跳到最后一个元素AN。 假设你当前位于Ai&#xff0c;跳跃的规则是&#xff1a; 如果这一步是第奇…

linux+平均磁盘请求数量_Linux 查看磁盘IO并找出占用IO读写很高的进程

背景-线上告警线上一台服务器告警&#xff0c;磁盘利用率 disk.util > 90&#xff0c;并持续告警。登录该服务器后通过 iostat -x 1 10 查看了相关磁盘使用信息。相关截图如下&#xff1a;# 如果没有 iostat 命令&#xff0c;那么使用 yum install sysstat 进行安装# iostat…

计算机网络技术实验,计算机网络技术实验

计算机网络技术实验 实 验 一 (2课时) 课题(项目)名称: 基本网络命令 计划学时: 2学时 实验目的 1. 了解网络命令的基本使用方法 2. 掌握常用网络命令的应用 3. 掌握网络通达性的基本测试方法 实验要求 1. 全面了解各种网络命令 2. 对常用的网络命令&#xff0c;上机测试运行 3…

【7-10 PAT】树的遍历(给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。)

题干&#xff1a; 给定一棵二叉树的后序遍历和中序遍历&#xff0c;请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 解题报告&#xff1a; dfs求出这棵树来&#xff0c;然后bfs求层序遍历就行了。 AC代码&#xff1a; #include<cstdio> #include<…