当前位置: 首页 > news >正文

2024年第十五届蓝桥杯CC++大学A组--成绩统计

2024年第十五届蓝桥杯C&C++大学A组--成绩统计

题目:

动态规划,

对于该题,考虑动态规划解法,先取前k个人的成绩计算其方差,并将成绩记录在数组中,记录当前均值,设小蓝已检查前i-1个人的成绩,若方差依然大于T,找出离均值最远的一个成绩,若第i个人的成绩距离当前均值更近,则剔除离均值较远的成绩,使得方差变小,若遍历完整个数组均找不到更小的方差,返回-1。

代码:

#include<bits/stdc++.h>
using namespace std;
int n, k, T;
vector<int> nums;
vector<int> team;

bool is0()
{
	double mean,val;
	double sum = 0;
	for (auto num : team)
	{
		sum += num;
	}
	mean = sum / k;
	val = 0;
	for (auto num : team)
	{
		val += (num - mean) * (num - mean);
	}
	val /= k;
	if (val < T) 
		return true;
	else 
		return false;
}


int main()
{
	cin >> n >> k >> T;
	int N = n;
	while (N--)
	{
		double temp;
		cin >> temp;
		nums.push_back(temp);
	}
	if (n < k)
	{
		cout << -1;
		return 0;
	}

	double sum = 0;
	for (int i = 0;i < k; i++)
	{
		team.push_back(nums[i]);
		sum += nums[i];
	}
	double mean = sum / k;
	if (is0())
	{
		cout << k;
		return 0;
	}
	for (int i = k; i < nums.size(); ++i)
	{
		double sub = 0;
		int x = -1;
		for (int j = 0; j < team.size(); ++j)
		{
			if (abs(team[j] - mean) > sub)//找出距离平均值最远的值和下标
			{
				sub = abs(team[j] - mean);
				x = j;
			}
		}
		if (x != -1 && sub > abs(nums[i] - mean))
			team[x] = nums[i];
		if (is0())
		{
			cout << i + 1;
			return 0;
		}
		return -1;
	}
	return 0;
}

相关文章:

  • 贪心算法:部分背包问题深度解析
  • openwrt软路由配置-----扩展系统空间
  • 【Linux】39.一个基础的HTTP Web服务器
  • 入侵检测系统(IDS)和入侵防御系统(IPS)有啥区别?
  • Linux系统05---进程
  • 安科瑞测频仪表:新能源调频困局的破局者
  • 【AI提示词】常青笔记生成器
  • 鸿蒙开发中的并发与多线程
  • 程序化广告行业(72/89):Tag Manager系统代码操作与行业发展剖析
  • yarn:error Error: certificate has expiredERR_OSSL_EVP_UNSUPPORTED解决
  • 【QT】QT的消息盒子和对话框(自定义对话框)
  • LLC工作模态详解
  • 数据结构与算法-图论-复习1(单源最短路,全源最短路,最小生成树)
  • 突破,未观测地区罕见极端降雨的估计
  • Qt 子项目依赖管理:从原理到实践的最佳分析:depends还是 CONFIG += ordered
  • CVE-2025-24813 漏洞全解析|Apache Tomcat 关键路径绕过与RCE
  • 【AI论文】重新思考预训练中的反思
  • 【ES系列】Elasticsearch简介:为什么需要它?(基础篇)
  • ArcGIS 给大面内小面字段赋值
  • EV值澄清
  • 案例学——网页设计与网站建设/无锡网站制作无锡做网站
  • 怎么做卖卷网站/如何进行网站推广
  • 来个网站吧好人一生平安2022/app软件下载站seo教程
  • 从哪个网站找钢做的微商/长春网站建设推广
  • 网站网站建设专业/成都网站seo推广
  • 外贸网站 推广/sem竞价培训班