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

网站制作有哪些技术站长平台

网站制作有哪些技术,站长平台,怎样做安居客网站,短视频制作自学教程样例输入# 3 1 0 1 2 1 1 2 3 1 1 2 2样例输出# 1 2 3 解题思路:与数组大小有关,先排序 举个例子思考一下 n4 k2 数组为1 2 3 4 如果我们想让众数那个位的值为3(即max3),3出现的次数为3,即众数为3,需要修改多少次…

样例输入#

3
1 0
1
2 1
1 2
3 1
1 2 2

样例输出#

1
2
3

解题思路:与数组大小有关,先排序

举个例子思考一下

n=4 k=2 数组为1 2 3 4

如果我们想让众数那个位的值为3(即max=3),3出现的次数为3,即众数为3,需要修改多少次?

答案是(3-1)+(3-2)+(3-3)=3次

不妨利用前缀和来计算。

前缀和数组 1 3 6 10

如果都到达众数位的值,那m个数的和为m*众数位的值(即最大值max),

所需修改次数即为m*max-众数三位的和sum1=3*3-6=3

所以,只要求出到达某个众数值需要的次数cnt与实际可修改的次数k进行比较,如果k>=cnt,说明max=m,测试m+1位是否满足,m++

如果k<cnt,说明前面几位不满足,众数第一位下标后移一位。

具体实现看代码。

#include<stdio.h>
#include<stdlib.h>
#define ll long long
#define N 100005
int num[N]={};
ll sum[N]={};//前缀和函数 
int cmp(const void *a,const void *b){return *(int*)a-*(int*)b;
}
int main(){int T;scanf("%d",&T);while(T--){ll i,n,k;scanf("%lld%lld",&n,&k);for(i=0;i<n;i++){scanf("%d",&num[i]);}//排序 qsort(num,n,sizeof(int),cmp);sum[0]=num[0];//处理前缀和函数 for(i=1;i<n;i++){sum[i]=sum[i-1]+num[i];}//m表示众数出现次数ll maxcnt,cnt,max,m=1,sum1;i=0;//i表示众数第一位的下标 while(num[i+m-1]!='\0'){max=num[i+m-1];//众数位的值//sum1表示k个数到达众数值未修改前的和 if(i==0)sum1=sum[i+m-1];else sum1=sum[i+m-1]-sum[i-1];cnt=m*max-sum1;//k个数到达众数值的修改次数 if(k>=cnt){maxcnt=m;m++;}else{//修改次数超了,i后移一位 i++; }} printf("%lld\n",maxcnt);//每次sum数组清零for(i=0;i<n;i++)sum[i]=0;}
} 

http://www.dt0577.cn/news/42726.html

相关文章:

  • 德国网站建设西安seo优化系统
  • 网站开发浏览器谷歌sem和seo区别
  • 网站建设网页制作惠州百度seo哪里强
  • 惠山做网站公司高权重外链
  • chinacd.wordpress0北京网络seo经理
  • 网站导航appseo推广如何做
  • 北京网站开发公司互联网广告联盟
  • 假网站怎么制作安卓优化大师下载安装到手机
  • 彩票走势图网站是用什么程序做的自己做网站需要多少钱
  • 为企网站seo是指什么岗位
  • javaee是做网站的?市场推广seo职位描述
  • 免费查企业信息的软件魔方优化大师官网
  • 做淘宝客网站需要工商营业执照免费正能量erp软件下载
  • 政府网站建设原因百度广告联盟怎么赚钱
  • 开公司 专做网站seo快速排名百度首页
  • 装饰网站设计模板南宁seo做法哪家好
  • 网站建设与运维江门关键词排名工具
  • 设置网站关键词怎么做网店推广平台
  • 代码做网站的软件视频推广方案模板
  • 学设计的网站有哪些中央人民政府
  • 做付费推广是网站好还是单页面好城关网站seo
  • 广东网站制作平台河北seo网络优化培训
  • 深圳 商行 骏域网站建设 www.单页应用seo如何解决
  • 网站价格明细表网站引流推广
  • 网站被spider重复抓取seo推广技术培训
  • 设计感强的网站火星培训机构收费明细
  • 网站建设里都需要干什么衡阳seo外包
  • php网站怎么缓存百度推广运营
  • 做调查问卷的网站情感营销经典案例
  • 搜索引擎网站怎么做短信营销