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

打卡信奥刷题(3443)用C++实现信奥题 P10389 [蓝桥杯 2024 省 A] 成绩统计

P10389 [蓝桥杯 2024 省 A] 成绩统计

题目描述

小蓝的班上有nnn个人,一次考试之后小蓝想统计同学们的成绩,第iii名同学的成绩为aia_iai。当小蓝统计完前xxx名同学的成绩后,他可以从1∼x1 \sim x1x中选出任意kkk名同学的成绩,计算出这kkk个成绩的方差。小蓝至少要检查多少个人的成
绩,才有可能选出kkk名同学,他们的方差小于一个给定的值TTT
提示:kkk个数v1,v2,⋯ ,vkv_1, v_2, \cdots , v_kv1,v2,,vk的方差σ2\sigma^2σ2定义为:σ2=∑i=1k(vi−vˉ)2k\sigma^2=\dfrac {\sum_{i=1}^k(v_i-\bar v)^2} kσ2=ki=1k(vivˉ)2,其中vˉ\bar vvˉ表示
viv_ivi的平均值,vˉ=∑i=1kvik\bar v = \dfrac {\sum_{i=1}^k v_i} kvˉ=ki=1kvi

输入格式

输入的第一行包含三个正整数 $n, k, T $,相邻整数之间使用一个空格分隔。

第二行包含nnn个正整数a1,a2,⋯ ,ana_1, a2, \cdots, a_na1,a2,,an,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。如果不能满足条件,输出−1-11

输入输出样例 #1

输入 #1

5 3 1 3 2 5 2 3

输出 #1

4

说明/提示

检查完前三名同学的成绩后,只能选出 $3, 2, 5 $,方差为 $1.56 $;

检查完前四名同学的成绩后,可以选出 $3, 2, 2 $,方差为 $0.22 < 1 $,所以答案为 $4 $。

对于10%10\%10%的评测用例,保证1≤n,k≤1021 ≤ n, k ≤ 10^21n,k102
对于30%30\%30%的评测用例,保证1≤n,k≤1031 ≤ n, k ≤ 10^31n,k103
对于所有评测用例,保证 $1 ≤ n, k ≤ 10^5 $,$1 ≤ T ≤ 2
^{31} -1 $,$1 ≤ a_i ≤ n $。

C++实现

#include<bits/stdc++.h>#defineinlinline#defineregregister#defineintlonglong#definerep(i,x,y)for(reginti=x;i<=(y);++i)usingnamespacestd;constintN=1e5+5;intn,k,t,a[N],sum_s[N],sum[N],v[N];boolcheck(intx){rep(i,1,x)v[i]=a[i];sort(v+1,v+x+1);rep(i,1,x){sum_s[i]=sum_s[i-1]+v[i]*v[i];sum[i]=sum[i-1]+v[i];}doubleans=DBL_MAX;rep(i,k,x){doublesum1=sum_s[i]-sum_s[i-k];doublesum2=2*(1.0*sum[i]-sum[i-k])*((1.0*sum[i]-sum[i-k])/k);doublesum3=((1.0*sum[i]-sum[i-k])/k)*((1.0*sum[i]-sum[i-k])/k)*k;ans=min(ans,(sum1-sum2+sum3)/k);}returnans<t;}signedmain(){cin>>n>>k>>t;rep(i,1,n){cin>>a[i];}intl=k,r=n,ans=-1;while(l<=r){intmid=(l+r)>>1;if(check(mid)){r=mid-1;ans=mid;}else{l=mid+1;}}cout<<ans;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/1179390/

相关文章:

  • 深度学习模型工作原理:从数据流动到数学直觉与工程实践
  • ET框架12条黄金法则:构建工业级Unity项目的架构与工程实践
  • 如何免费解锁网易云音乐NCM格式:3步快速转换为MP3的完整指南
  • Linux系统基础11:iptables 基本原理 新手超详细详解
  • 每日极客日报 · 2026年07月12日
  • JavaScript 时间与数学魔法:Date 与 Math 对象全攻略
  • Windows 10/11 ping 报“一般故障”:5步定位法与 3 类根因排查指南
  • 营销战略是一种实践|案例分享
  • Windows 11 LTSC企业版:老电脑焕新与系统优化全攻略
  • C/C++ HTTP服务器开发:从请求解析到高并发epoll实现
  • 劳力士中国官方售后服务中心|地址与客户服务热线权威信息声明(2026年7月最新) - 劳力士服务中心
  • 浪琴中国官方售后服务中心|服务电话与网点地址权威信息通知(2026年7月更新) - 浪琴服务中心
  • 小红书内容采集终极指南:XHS-Downloader 完整使用手册
  • kspack-rust实战教程:构建高性能网络通信数据序列化方案
  • 成都成华区跳蹬河街道亨得利官方名表服务中心电话公示(2026年7月最新) - 亨得利官方博客
  • Java 23 种设计模式:从踩坑到精通 | 状态模式 —— if-else 满天飞?让状态自己决定行为
  • 机器人学导论(第4版)核心概念精讲:从位姿描述到雅可比矩阵的5个关键公式
  • Blender3mfFormat:免费开源插件,在Blender中完整处理3MF格式的终极指南
  • 【RPA实战】我用RPA自动化半导体报表:每天2小时手工活变5分钟
  • 百达翡丽官方售后服务中心维修地址与24小时服务电话实地考察报告_多信源验证(2026年7月更新) - 百达翡丽服务中心
  • 2026海口冰块厂家Top3评测!工业降温冰块复购谁更优? - 热点咨讯
  • Windows C++轻量集成OpenAI聊天API:ChatAI-Cpp实战指南
  • pandas多维聚合实战:滚动计算与业务可解释性设计
  • 【目标检测论文解读复现NO.44】MDWF-YOLO:多尺度双路加权融合的航拍小目标检测网络
  • TLP241A光隔离与PIC32MX664微控制器的工业应用设计
  • 昆明市东川区亨得利官方钟表服务中心电话公示(2026年7月最新) - 亨得利官方
  • 5个步骤掌握Windows虚拟游戏控制器驱动:ViGEmBus完整使用指南
  • STM32与NAU8224实现高保真音频系统设计
  • RabbitMQ HTTP API 自动化管理:5步脚本实现vhost与用户动态创建
  • Linux网络配置后Ping不通:5步排查法与3个配置文件修复