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

福州做网站优化百度极速版app下载安装

福州做网站优化,百度极速版app下载安装,wordpress 医院模板下载,太平洋手机官网文章目录 C. Robin Hood in Town 首先就是得思考一个问题:如何快速找到有多少个数严格小于平均数的一半?答案是显而易见的,二分,所以我们需要进行升序排序考虑题目给出的特殊情况当n1或n2的时候,直接输出-1即可那么对于…

文章目录

C. Robin Hood in Town

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 首先就是得思考一个问题:如何快速找到有多少个数严格小于平均数的一半?答案是显而易见的,二分,所以我们需要进行升序排序
  • 考虑题目给出的特殊情况当n=1或n=2的时候,直接输出-1即可
  • 那么对于可以通过增加x来判断满足最小的x的问题,这里就转换为,如何快速增加x,然后逐一判断这个x所带来的影响?
    • 直接暴力的做法肯定是x从0开始,逐个+1显而易见,这样十分慢
    • 正确的做法是直接使用二分,这里就要考虑这个二分的范围了,最小肯定是0,那么最大是多少?假设n全部放在一个测试用例,那么考虑到最大的数是10**6,n的最大范围2*10**5,如果开始的全部的n都是1,那么我们得将一半的数全部变为最大也就是10**11

import bisect
# 二分+二分的问题
t = int(input())
for _ in range(t):n = int(input())a = list(map(int, input().split()))if n == 1 or n == 2:print(-1)continuea.sort()asum = sum(a)# aver = asum / n# index = bisect.bisect_left(a, aver/2)# if index > n // 2:#     print(0)#     continue# 接下来怎么办?# 增加数的问题,具有二分的性质# 考虑增加的数量为middef check(mid):a[-1] += midtmpsum = asum + midaver = tmpsum / nindex1 = bisect.bisect_left(a, aver/2)a[-1] -= midreturn index1 > n // 2l,r = 0,10**12res = float('inf')while l<=r:mid = (l+r)//2if check(mid):res = min(res,mid)r = mid - 1else:l = mid + 1print(res)
http://www.dtcms.com/wzjs/149310.html

相关文章:

  • 小企业一键做网站网络营销环境分析主要包括
  • 图书网站建设策划书1万字爱站网长尾关键词挖掘工具福利片
  • 响应式和非响应式网站域名停靠网页推广大全2021
  • 怎样做企业网站备案互联网营销推广
  • 南昌做网站优化价格今日要闻 最新热点
  • 成都青白江网站建设最新互联网项目平台网站
  • 帮人做图挣外快的网站购物网站如何推广
  • 南宁本地有几家网站开发市场调研方法有哪几种
  • 做境外碎片化旅游的网站搜索引擎排名优化方案
  • 郑州专业做微信网站google建站推广
  • 网站界面设计中的版式设计有哪些谷歌paypal官网
  • html怎么做静态网站百度seo优化排名
  • 聊城wap网站制作线上推广
  • 寻找基础微网站开发网络营销顾问工作内容
  • 番禺高端网站建设公司哪家好搜索引擎关键词广告
  • 个人网站怎么做推广重庆seo网站管理
  • 长春网站建设费用适合中层管理的培训
  • 高端建设网站公司新东方线下培训机构官网
  • 北京手机网站建设公司排名亚马逊关键词排名提升
  • 网站模块分析百度文章收录查询
  • jquery网站底部导航效果关键词推广和定向推广
  • 建设网站的市场分析搜索引擎网址
  • btime wordpress绍兴seo计费管理
  • 亿唐网不做网站做品牌案例分析app推广30元一单平台
  • 定西市建设局官方网站企业微信scrm
  • 做网站送域名和邮箱迅速上排名网站优化
  • 公司网站seo优化的搜关键词网站
  • 潍坊专业人员继续教育网络平台登录路由优化大师
  • b2c电子商务网站的特点及类型软文营销文章500字
  • 宁波自主建站模板怎样在百度打广告