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

汕头专业的开发网站方案游戏推广平台代理

汕头专业的开发网站方案,游戏推广平台代理,做ppt到哪个网站找图片,自己做的网站怎样对接支付宝文章目录 习题肖恩的n次根分巧克力2.卡牌 二分是十分重要的一个算法,常常用于求解一定范围内,找到满足条件的边界值的情况主要分为浮点数二分和整数二分二分问题,最主要是写出这个check函数,这个check函数最主要就是使用模拟的方法…

文章目录

  • 习题
    • 肖恩的n次根
    • 分巧克力
    • 2.卡牌

  • 二分是十分重要的一个算法,常常用于求解一定范围内,找到满足条件的边界值的情况
  • 主要分为浮点数二分整数二分
  • 二分问题,最主要是写出这个check函数,这个check函数最主要就是使用模拟的方法进行求解
    二分查找算法一
    二分算法(二)
    在这里插入图片描述

函数单调

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

0-1单调

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

习题

肖恩的n次根

肖恩的n次根

在这里插入图片描述

  • 这题是一个浮点数二分的问题,我们只用确定区间的左范围和右范围,确定一个精度进行判断,最好是超过题目要求的精度的100
import os
import sys# 请在此输入您的代码
# 浮点数二分法# 判断是否小于等于target
def check(a1,b1,target):ans = 1for i in range(b1):ans *= a1return ans <= targeta,b = map(int,input().split())l,r = 0,1000
while r - l > 1e-9:mid = (l+r)/2if check(mid,b,a):l = mid else:r = midprint(int(r*1000))

分巧克力

分巧克力

在这里插入图片描述

  • 判断是否存在单调性:当你分到的巧克力的边长越长,那么可以切分的巧克力的数量就越少,所以说是存在这个单调性的
  • 那么确定一个二分的范围:最少的边长,肯定是1,最大的边长,那么就可以认为是最长的w,h
import os
import sys# 请在此输入您的代码N,K = map(int,input().split())
cho = []
maxnum = 0
for _ in range(N):h,w = map(int,input().split())maxnum = max(maxnum,h,w)cho.append([h,w])def check(mid):cou = 0for i in range(N):cou += (cho[i][0] // mid )* (cho[i][1] // mid)return cou >= Kl ,r = 1,maxnum
ans = 0 
while l <= r:mid = (l+r) // 2if check(mid):ans = max(ans,mid)l = mid + 1else:r = mid - 1
print(ans)
  • 注意上面的题目,有些同学可能判断不了,最后的答案是l还是r,所以我们直接多开一个变量,当满足情况的时候更新答案即可,最后直接输出这个ans
  • 当然,在理解的情况,我们当然是输出不满足情况下修改的那个变量,在这个题目当中,就是r
import os
import sys# 请在此输入您的代码N,K = map(int,input().split())
cho = []
maxnum = 0
for _ in range(N):h,w = map(int,input().split())maxnum = max(maxnum,h,w)cho.append([h,w])def check(mid):cou = 0for i in range(N):cou += (cho[i][0] // mid )* (cho[i][1] // mid)return cou >= Kl ,r = 1,maxnum
while l <= r:mid = (l+r) // 2if check(mid):l = mid + 1else:r = mid - 1
print(r)

2.卡牌

2.卡牌

在这里插入图片描述

  • 确定二分的对象,那就是对于可以组成的牌的套数,对应的范围0到max(a)+max(b),因为尽可能把最大的情况都得包括进去
  • check函数的确定,就是检查,我们要求组成mid套牌,能否在每一种牌都可以凑出mid张,如果有一种不满足,提前返回False,当然得考虑这个补充的牌的数量是否超过m
import os
import sys# 请在此输入您的代码n,m = map(int,input().split())
a = list(map(int,input().split()))
b = list(map(int,input().split()))def check(mid):needchange = 0for i in range(n):# 模拟判断情况,如果强制情况下都不满足,那直接返回不满足if a[i] + b[i] < mid:return Falseif a[i] < mid:needchange += (mid - a[i] )if needchange > m :return Falsereturn Truel,r = 0,max(a)+max(b)
ans = 0
while l <= r:mid = (l+r) // 2if check(mid):ans = max(ans,mid)l = mid + 1else:r = mid - 1
print(ans)
http://www.dtcms.com/wzjs/28472.html

相关文章:

  • 平台建站临沂森工木业有限公司
  • 社区网站开发进度表友情链接交换形式
  • 网站为什么要续费seo外包公司多吗
  • wordpress做社区网站站长工具seo综合查询下载
  • 创建网站购买域名要注意什么360搜索推广官网
  • 沈阳成创网站建设公司热点营销案例
  • 旅游网站建设策划方案爱站网
  • 旅游景点网站模板自媒体运营主要做什么
  • 营口做网站价格我想接app纯注册推广单
  • 做营销网站策划有什么前景杭州网站seo外包
  • 如何做好一个购物网站石家庄seo培训
  • 通州微网站优化沧州网站建设公司
  • 内网建站工具渠道策略的四种方式
  • 河南做网站 河南网站建设营销软文范文
  • 上海建设行政主管部门网站2024北京又开始核酸了吗今天
  • 福州高端网站制作卫星电视安装视频
  • 新农村建设管理网站百度统计
  • 各种大型网站产品推广运营的公司
  • 怎样做家普网站域名查询站长之家
  • 织梦可以做微网站吗百度一下浏览器下载安装
  • wordpress后台怎么进的广州网络seo公司
  • 旅游网站开发与设计论文seozou是什么意思
  • 旅游网站建设的利益凡科建站的免费使用
  • 同城做推广哪个网站好推销一个产品的方案
  • 网站如何验证登陆状态网站开发的一般流程
  • 站长工具 怎么做网站地图seo站长工具 论坛
  • 阿里巴巴国际站入驻费用及条件我想做电商怎么加入
  • wordpress google api株洲seo推广
  • 课程中心网站建设内容国内建站平台
  • 湖南做网站价格网络销售是什么