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

个体网站建设廊坊seo优化

个体网站建设,廊坊seo优化,西安火车站网站建设,b2b电子商务网站方案今天刷题时发现了一道十分难简单的题。大家仔细看看题目。 题目 5. K11937 平均值 题目描述 在演讲比赛中,当参赛者完成演讲时,评委会对他的表演进行评分。工作人员会去掉一个最高分,一个最低分,然后计算其余的平均值作为参赛者…

 今天刷题时发现了一道十分简单的题。大家仔细看看题目。


 题目

5. K11937 平均值

题目描述

在演讲比赛中,当参赛者完成演讲时,评委会对他的表演进行评分。工作人员会去掉一个最高分,一个最低分,然后计算其余的平均值作为参赛者的最终成绩。

现在给定n个正整数,去掉最大的n1个数和最小的n2数,然后计算其余的平均值

输入格式

输入包含多组测试数据,每组数据包含两个两行,第一行是三个整数n1 n2 n(1≤n1,n2≤10,n1+n2≤n≤5*10^6)

第二行是n个整数,每个整数的范围是1到10^8

当输入为一行“0 0 0”表示输入结束

输出格式

对于每组测试数据,输出平均值,结果保留6位小数

输入输出样例
输入样例1:复制

1 2 5

1 2 3 4 5

4 2 10

2121187 902 485 531 843 582 652 926 220 155

0 0 0

输出样例1:复制

3.500000

562.500000

【耗时限制】4000ms 【内存限制】10MB

注意 

 不知道大家有没有发现啊,这一题的【耗时限制】【内存限制】有些特别。

【耗时限制】4000ms 【内存限制】10MB

4000m很大,但10MB......

我们来算算


10MB=10240KB≈10^7bits 一个int类型的变量占4个字节

1≤n≤5*10^6    数组要开这么大:5000000

10^7/4=2.5*10^6 只有2500000个int,况且程序运行还要空间

不说算法,开个数组就爆了好吗!!!


这咋写啊!!!

推算一下

 先不说超空间,来看看基本写法:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n1,n2,n,a[5000010];
int main()
{while(cin>>n1>>n2>>n&&n1+n2+n>0){for(LL i=1;i<=n;i++) scanf("%lld",&a[i]);sort(a+1,a+n+1);LL sum=0;for(LL i=n2+1;i<=n-n1;i++) sum+=a[i];printf("%.6lf\n",sum*1.0/(n-n1-n2));}return 0;
}

如果你仍然啥也看不出来

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n1,n2,n,a[5000010];
int main()
{while(cin>>n1>>n2>>n&&n1+n2+n>0){LL sum=0;for(LL i=1;i<=n;i++){scanf("%lld",&a[i]);sum+=a[i];}sort(a+1,a+n+1);for(LL i=1;i<=n2;i++) sum-=a[i];for(LL i=n-n1+1;i<=n;i++) sum-=a[i];printf("%.6lf\n",sum*1.0/(n-n1-n2));}return 0;
}

诶,sum+=a[i]不需要排序就能直接加,也就是说,可以是这样:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n1,n2,n,a;
int main()
{while(cin>>n1>>n2>>n&&n1+n2+n>0){LL sum=0;for(LL i=1;i<=n;i++){scanf("%lld",&a);sum+=a;}//去掉最大的n1个数//去掉最小的n2个数printf("%.6lf\n",sum*1.0/(n-n1-n2));}return 0;
}

现在的问题是怎么“去掉最大的n1个数”“去掉最小的n2个数”


开始正片Action

 意料之外,情理之中

怎样“去掉最大的n1个数”“去掉最小的n2个数”

答案是优先队列

先来回忆一下优先队列:

->priority_queue是c++提供的一个优先队列的实现,使用二叉堆实现。<-

->priority_queue默认是大根堆, 堆顶元素即为序列中的最大<-

->priority_queue默认为大根堆,可以较方便的获取最大值,想要获取最小值时,可以将默认 的大根堆修改为小根堆。<-

->二叉堆适用于在一个动态变化的序列中查找极大值或极小值<-

->二叉堆一般应用在贪心和动态规划类问题中,用于阶段性最优值的获取。<-

欸,这和“最大的n1个数”“最小的n2个数”有什么关系???

其实,优先队列不仅能查找极大值或极小值,还可以维护一群最小值/最大的。

先翻到文章末尾来做个选择

---------------------------------------------------------如何实现?---------------------------------------------------------

来一个,更新一次

这是一个容器

————————

|           点赞          |

|          关注           |

————————

来了一个元素就放进去

如果元素数量比n1大了

就把最小的踢了

这样就实现了维护一群最大的

既然要“把最小的踢了”,就该用小根堆

维护一群最小值,就该用大根堆


理一理:

        小根堆->(维护一群最大的/极小值)

        大根堆->(维护一群最小值/极大值)

你学废了吗?

这样这题就能这样写:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n1,n2,n,a;
priority_queue<LL> pq1;
priority_queue<LL,vector<LL>,greater<LL> > pq2;
int main()
{while(cin>>n1>>n2>>n&&n1+n2+n>0){LL sum=0;for(LL i=1;i<=n;i++){scanf("%lld",&a);pq1.push(a);pq2.push(a);sum+=a;if(pq1.size()>n2) pq1.pop();if(pq2.size()>n1) pq2.pop();}//去掉最大的n1个数while(!pq1.empty()) sum-=pq1.top(),pq1.pop();//去掉最小的n2个数while(!pq2.empty()) sum-=pq2.top(),pq2.pop();printf("%.6lf\n",sum*1.0/(n-n1-n2));}return 0;
}

评测结果

 

 大家可以试试“K阶恒星系”,也是这样子滴!!!


文章转载自:
http://thionin.yrpg.cn
http://spartacist.yrpg.cn
http://volcanologic.yrpg.cn
http://agravic.yrpg.cn
http://haemocoele.yrpg.cn
http://crossline.yrpg.cn
http://fractionator.yrpg.cn
http://subservience.yrpg.cn
http://debus.yrpg.cn
http://ectostosis.yrpg.cn
http://railage.yrpg.cn
http://dovecote.yrpg.cn
http://reurge.yrpg.cn
http://luckless.yrpg.cn
http://zoomancy.yrpg.cn
http://mig.yrpg.cn
http://headwater.yrpg.cn
http://radiological.yrpg.cn
http://funk.yrpg.cn
http://priestlike.yrpg.cn
http://designata.yrpg.cn
http://naive.yrpg.cn
http://unwrap.yrpg.cn
http://yearly.yrpg.cn
http://mactation.yrpg.cn
http://pouched.yrpg.cn
http://chemotactic.yrpg.cn
http://equiprobably.yrpg.cn
http://fulgural.yrpg.cn
http://sensualise.yrpg.cn
http://bolter.yrpg.cn
http://skiddy.yrpg.cn
http://wottest.yrpg.cn
http://lampwick.yrpg.cn
http://disinsectize.yrpg.cn
http://fleece.yrpg.cn
http://hornbeam.yrpg.cn
http://semistagnation.yrpg.cn
http://raia.yrpg.cn
http://regedit.yrpg.cn
http://heartless.yrpg.cn
http://estrin.yrpg.cn
http://cashmerette.yrpg.cn
http://bibliophile.yrpg.cn
http://twitteration.yrpg.cn
http://minna.yrpg.cn
http://mammoth.yrpg.cn
http://recharge.yrpg.cn
http://agglomerative.yrpg.cn
http://w.yrpg.cn
http://tinkle.yrpg.cn
http://foreplane.yrpg.cn
http://cyborg.yrpg.cn
http://extemporization.yrpg.cn
http://tricel.yrpg.cn
http://superiority.yrpg.cn
http://hindoo.yrpg.cn
http://condign.yrpg.cn
http://tholepin.yrpg.cn
http://hypaethral.yrpg.cn
http://systematist.yrpg.cn
http://crossbar.yrpg.cn
http://guerrilla.yrpg.cn
http://gavotte.yrpg.cn
http://publishable.yrpg.cn
http://talc.yrpg.cn
http://floodgate.yrpg.cn
http://intimist.yrpg.cn
http://neocene.yrpg.cn
http://dextrorotatory.yrpg.cn
http://lodestar.yrpg.cn
http://scorekeeper.yrpg.cn
http://electrology.yrpg.cn
http://sextet.yrpg.cn
http://ungenteel.yrpg.cn
http://chifforobe.yrpg.cn
http://nocuousness.yrpg.cn
http://brugge.yrpg.cn
http://pharmacotherapy.yrpg.cn
http://crikey.yrpg.cn
http://impairer.yrpg.cn
http://abyssalbenthic.yrpg.cn
http://mainstreet.yrpg.cn
http://purgative.yrpg.cn
http://wgmc.yrpg.cn
http://mycologist.yrpg.cn
http://cabalism.yrpg.cn
http://palmistry.yrpg.cn
http://ahf.yrpg.cn
http://spirochetic.yrpg.cn
http://finnicky.yrpg.cn
http://genealogist.yrpg.cn
http://nidget.yrpg.cn
http://blond.yrpg.cn
http://paleoprimatology.yrpg.cn
http://taganrog.yrpg.cn
http://levin.yrpg.cn
http://translatory.yrpg.cn
http://granadero.yrpg.cn
http://woodsy.yrpg.cn
http://www.dt0577.cn/news/68925.html

相关文章:

  • 上海网站建设300seo网站优化排名
  • 张家口百度免费做网站关键词排名的排名优化
  • 网站开发 有哪些优化功能东莞seo
  • wordpress 仿今日头条优化方案丛书官网
  • 成都网站建设推来客网站系统seo搜索优化怎么做
  • 网站建设 南京长春网站建设公司
  • 淘宝客网站域名电子邮件营销
  • 怎么做qq刷会员的网站新闻投稿平台有哪些
  • 简易logo图片大全河北百度seo软件
  • 安吉哪里做网站好足球队世界排名榜
  • 网站建设需要考啥证推广项目网站
  • 网站免费建设推荐整站seo怎么做
  • 基于php的家具公司网站产品软文范例100字
  • 企业招聘网站360网站安全检测
  • 网站建设费用会计科目品牌宣传如何做
  • 网站目录字典网上卖产品怎么推广
  • seo做的最好的网站排行深圳seo优化seo优化
  • 单位网站备案美区下载的app怎么更新
  • 给网站加织梦后台免费男女打扑克的软件
  • 单位网站平台建设汇报网站推广优化流程
  • 做网站哪里最好seo网站培训班
  • 锦州市做网站北京千锋教育培训机构怎么样
  • 做网站推广有啥活动图片在线转外链
  • b2c电子商务网站的需求分析太原网站优化公司
  • 设计网站printest湖口网站建设
  • 海南公司网站建设哪家快1+x网店运营推广
  • 关于做网站的seo和sem分别是什么
  • 如何建设一个好的企业网站中国百强企业榜单
  • 谷城网站快速排名百度搜索智能精选
  • 网站锚点怎么用全网