17蓝桥杯决赛 对局匹配

原创 2018年04月16日 19:22:07

dp问题

先转换为权值数据,把权值数据化为K组(K1,K2……)数据
每一组数据相当于k等于1的子问题。 
最后将最后k个加起来就是答案。
比如说样例
21 2
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6
转化为权值数据为1 2 3 4 5 6
分成两组
1 3 5  k1
2 4 6  k2
k1子问题的答案是1+5=6
k2子问题的答案是2+6=8

最后问题的答案就是14。

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,k;
const int MAX = 100010;
int dp[MAX]={0};
int ans[MAX]={0};
int main()
{
	scanf("%d%d",&n,&k);
	for(int i=0;i<n;i++)//赋权值 
	{
		int buf;
		scanf("%d",&buf);
		ans[buf]++;
	}
	for(int i=0;i<=MAX;i++)//实际上是进行了k次dp,这里简写成一趟。 
	{
		int buf1,buf2;
		if(i-k<0)buf1=0; 
		else buf1=dp[i-k];
		
		if(i-2*k<0)buf2=0;
		else buf2=dp[i-2*k];
		
		dp[i]=max(buf1,buf2+ans[i]);//状态转移方程 
	}
	if(k==0)//特判一下k=0的情况 
	{
        int Count=0;
        for(int i=1;i<=MAX;i++)
            if(ans[i]!=0)
                Count++;
        printf("%d",Count);
    }
    else{
    	int tot=0;
		for(int i=0;i<k;i++)//将后面k个加起来就是答案 
			tot+=dp[MAX-i];
		printf("%d\n",tot);
    }
	for(int i = 0;i<100;i++)
		printf("%d ",dp[i]); 
	return 0;
}

2017第八届蓝桥杯决赛_对局匹配

标题:对局匹配 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。 小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两...
  • z956281507
  • z956281507
  • 2017年05月29日 00:03
  • 1722

2016第七届蓝桥杯决赛心得

第七届蓝桥杯决赛心得 学校也就是个二本中的二本,按照要求报的B组C,今年是第二年参加蓝桥杯比赛了,今年的成绩虽然比去年的好一点,但是今年的成绩并不是太理想。  在省赛的时候,本来感觉自己发挥的不...
  • xia842655187
  • xia842655187
  • 2016年05月31日 20:52
  • 3552

蓝桥杯 历届试题 对局匹配

问题描述  小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。  小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人...
  • changingseasons
  • changingseasons
  • 2018年03月19日 10:34
  • 59

第八届蓝桥杯决赛 对局匹配

标题:对局匹配 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。 小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如...
  • flyawayl
  • flyawayl
  • 2018年01月15日 21:23
  • 114

蓝桥杯 比赛安排 (深搜) -----------------------C语言

/*问题描述   设有有2 n(n&lt;=6)个球队进行单循环比赛,计划在2 n – 1天内完成, 每个队每天进行一场比赛。设计一个比赛的安排,使在2 n – 1天内每个队都与不同的对手...
  • qq_41923622
  • qq_41923622
  • 2018年03月30日 13:38
  • 45

蓝桥杯 2n皇后问题(精简)C语言

问题描述   给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后, 使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、 ...
  • qq_41923622
  • qq_41923622
  • 2018年03月30日 13:01
  • 26

蓝桥杯总决赛体会

只得了个全国三等,不太理想,看到特等奖的大牛上台拿肾6,真羡慕....下学期就大四了,估计也没机会再参加了,算法的学习暂时告一段落...
  • lc0817
  • lc0817
  • 2015年06月03日 21:17
  • 1474

蓝桥杯 算法训练 金陵十三钗(dp+状态压缩) ----------------------------C语言——菜鸟级

/*问题描述   在电影《金陵十三钗》中有十二个秦淮河的女人要自我牺牲代替十二个女学生去赴日本人 的死亡宴会。为了不让日本人发现,自然需要一番乔装打扮。但由于天生材质的原因, 每个人和每个人之间...
  • qq_41923622
  • qq_41923622
  • 2018年03月31日 11:12
  • 27

蓝桥杯 邮票(动态规划)----------------------C语言——菜鸟级

/*问题描述   给定一个信封,有N(1≤N≤100)个位置可以贴邮票,每个位置只能贴一张邮票。 我们现在有M(M&lt;=100)种不同邮资的邮票,面值为X1,X2….Xm分(Xi是整数...
  • qq_41923622
  • qq_41923622
  • 2018年03月31日 10:52
  • 20

蓝桥杯 历届试题 对局匹配(dp满分通过)---------C语言

/* 问题描述   小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。   小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配...
  • qq_41923622
  • qq_41923622
  • 2018年03月30日 13:24
  • 46
收藏助手
不良信息举报
您举报文章:17蓝桥杯决赛 对局匹配
举报原因:
原因补充:

(最多只允许输入30个字)