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

[CSP-J2020] 直播获奖

题目

添加链接描述
1
5

70分代码

#include <bits/stdc++.h>
using namespace std;
int n,x,p;
vector<int> v; 
void view(){cout<<"内容:\n";for(vector<int>::iterator i=v.begin();i!=v.end();i++)cout<<*i<<"\t";cout<<endl;
}
int main(){//freopen("data.cpp","r",stdin);cin>>n>>p;for(int i=1;i<=n;i++){cin>>x;v.push_back(x);sort(v.begin(),v.end(),greater<int>());//view();int m=floor(i*p*1.0/100)-1;if(m<0)m=0;cout<<v[m]<<" ";}return 0;
}

n个数,每次排序nlogn,超时

插入新数据,100分

#include <bits/stdc++.h>
using namespace std;
int n,x,p;
vector<int> v; 
void view(){cout<<"内容:\n";for(vector<int>::iterator i=v.begin();i!=v.end();i++)cout<<*i<<"\t";cout<<endl;
}
int main(){//freopen("data.cpp","r",stdin);cin>>n>>p;for(int i=1;i<=n;i++){cin>>x;vector<int>::iterator it=v.begin();if(!v.empty())while(x<*it&&it!=v.end()&&!v.empty())it++;v.insert(it,x); //view();int m=floor(i*p*1.0/100)-1;if(m<0)m=0;cout<<v[m]<<" ";}return 0;
}

不用nlogn排序,直接插入O(n),循环n次就是n2。对于n=105,就是1010大于1秒108,还好侥幸通过。

最高600分,每次从高分往下统计分数线人数

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,//人数 x,//各成绩 p,//获奖比例 d[601];//各分数人数 
int main(){//freopen("data.cpp","r",stdin);cin>>n>>p;for(int i=1,maxx=0;i<=n;i++){//人数 cin>>x;d[x]++;maxx=max(maxx,x);//最高分数 int m=floor(i*p*1.0/100),//获奖人数 he=0,//从大到校统计获奖人数 j=maxx;if(m==0)m=1;//如果获奖人数是0就是1 //cout<<"各数"<<x<<"\t需要人数"<<m<<"\t"<<j<<endl;while(he<m&&j>=0){//人数不够就继续, if(d[j]){//如果有人 he+=d[j];x=j;//该分数暂时是分数线。增加获奖人数 }j--;}cout<<x<<" ";}return 0;
}

每次统计600个人,常数,可以省略。
所以是O(n)

小结

要落实到数据中。
1*0.6=0.6=0,没有0个人的情况。要手动改成1.

http://www.dtcms.com/a/342861.html

相关文章:

  • 集成学习:从原理到实战,一文掌握 Bagging、Boosting 与 Stacking
  • 集成学习:如何让多个 “弱模型” 变成 “强模型”?
  • demo 汽车之家(渲染-筛选-排序-模块抽离数据)
  • Linux之Ansible自动化运维(二)
  • Linux内核源码详解--缺页异常(Page Fault)处理的核心函数handle_pte_fault
  • Maven(三)
  • Class A 包含字段 x Class B 也包含字段 x,如果判断List<A> lista 和 List<B> listb 有相同的 x?
  • 基于websocket聊天室的基本点
  • SQL中的游标
  • html ajax前端页面
  • 51单片机-驱动直流电机模块教程
  • 单片机\物联网\51单片机\嵌入式开发\软硬件结合的基于STM32的电梯管理系统的设计/基于STM32的电梯运行系统的设计
  • 【华为OD-C卷-020 -关联端口组合并 100分(python、java、c++、js、c)】
  • 解决 uniapp 修改index.html文件不生效的问题
  • PCB文件怎么快速判断是通孔还是盲孔呢?
  • Git 2.15.0 64位安装步骤Windows详细教程从下载到验证(附安装包下载)
  • 14、外部中断
  • 【科普向-第三篇】汽车电子MCU操作系统详解:CP AUTOSAR与FreeRTOS
  • 1688电商商品大数据采集之路 技术篇
  • 嵌入式接口通识知识之PWM接口
  • 机器学习聚类与集成算法全解析:从 K-Means 到随机森林的实战指南
  • 从系统漏洞归零到候诊缩短20%:一个信创样本的效能革命
  • 播放器视频后处理实践(一)
  • 视频加水印 视频加水印软件 视频加动态水印
  • 音视频面试题集锦第 29 期
  • 如何有效防止视频在浏览器播放时被录屏?
  • 全媒体人才培育对接会:国际数字影像产业园赋能企业发展
  • 如何学习编程
  • 完全背包(模板)
  • Mysql基础(③事务)