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

大连网站建设仟亿科技/二级域名查询网站

大连网站建设仟亿科技,二级域名查询网站,广西壮族自治区人民医院,云南省住房和城乡建设局网站贪心模拟||全局贪心前言一、装满杯子需要的最短时长二、贪心1、贪心模拟2、全局贪心总结参考文献前言 碰到局部选择,加上结果最值导向,基本就是不断最优解直到求到全局最值,经典的贪心思维,不断选择最优方向,就是一种…

贪心模拟||全局贪心

  • 前言
  • 一、装满杯子需要的最短时长
  • 二、贪心
    • 1、贪心模拟
    • 2、全局贪心
  • 总结
  • 参考文献

前言

碰到局部选择,加上结果最值导向,基本就是不断最优解直到求到全局最值,经典的贪心思维,不断选择最优方向,就是一种贪心模拟;而有些问题,可以做到全局角度观察,挖掘其数学规律,以常数级复杂度完成贪心求解。

一、装满杯子需要的最短时长

二、贪心

1、贪心模拟

// 抽象,别看冷温热,就是三种不同的水,以及数量。
// 两种选择,要么装两杯不同类型的水,要么任意一杯。
// 只有两种选择,要在最短时间内装满所有水,必须贪心着装,即先一次装2杯。
// 关键问题:怕最后只剩一种类型的水n杯,根据规则,此时耗的不是(n+1)/2秒,而是n秒。
// 所以要先把最多水杯哪一类先装起,采用双装的方式,实在没没选择了,才能选择单装的方式。
// 注:最多水杯那一类随着剩余水杯数的变换,也在改变。

// case : 抽象 a >= b >= c,如果b != 0,则减少2杯水,否则减少一杯水,减至没有水杯。

func fillCups(amount []int) int {a,b,c := sortABC(amount[0],amount[1],amount[2])cnt := 0for ; a + b + c > 0;cnt++ {a--if b > 0 {b--}a,b,c = newABC(a,b,c)}return cnt
}
// 由于a >= b,要么ab一起移动到后面,要么b移动到后面。
func newABC(a,b,c int)(int,int,int){if a > c && b < c{b,c = c,b    }else if a <= c {a,b,c = c,a,b}return a,b,c
}
func sortABC(a,b,c int)(int,int,int){if a < b {a,b = b,a}if b < c {b,c = c,b}if a < b {a,b = b,a}return a,b,c
}

2、全局贪心

// 下面是数学法,从整体角度看,直接O(1)
// 最多一类水杯数 > 其他两类水杯数之和,就直接返回最大的即可。

// 反之,由于第2/3种水杯之和被限定了,a < b + c <= 2a,
// 先让b和c一起接,接到b+c == a时,或者b+c = a - 1时,再把b+c理解成一个整体,和a一起接。
// 所以按贪心,全是两杯水一起接,最多有一次单次接水,直接返回三者之和除2取上整。

func fillCups(amount []int) int {a,b,c := amount[0],amount[1],amount[2]if a >= b + c {return a}if b >= a + c {return b}if c >= a + b {return c}return (a + b + c + 1) >> 1
}

总结

1)贪心模拟,不断模拟选择最优方向,直至最后的全局最优解。
2)全局贪心,挖掘数据规律,从全局的角度贪心,一次性获得最优解,需要概括整个模拟贪心的过程。

参考文献

[1] LeetCode 装满杯子需要的最短时长

http://www.lbrq.cn/news/772903.html

相关文章:

  • 浦东网站建设公司/阿里指数app下载
  • 公司定制网站建设公司/汕头seo计费管理
  • 博物馆建设网站/百度推广seo
  • 如何建设幼儿园网站方案/深圳广告策划公司
  • 清溪镇网站建设/电脑优化用什么软件好
  • 昌平区住房城乡建设委 房管局 官方网站/seo的范畴是什么
  • 临夏市建设局网站/西安seo顾问培训
  • wordpress引入css样式/淘宝关键词排名优化
  • 二次开发是指/seo专家是什么意思
  • wordpress 加上广告/seo是什么意思蜘蛛屯
  • 招标资源网官网/北京网站优化方式
  • 建设工程消防网站进入程序/软文营销ppt
  • 成都 企业网站建设公司/网络推广视频
  • 做网站免费服务器哪家好/百度不收录网站
  • 艺梵科技 网站建设/seo网页优化工具
  • 4399游戏网页版入口/seo搜索引擎优化课程总结
  • 做电商平台网站有哪些内容/网站建设与营销经验
  • 做好网站建设工作/厦门seo百度快照优化
  • 赛马网站开发出售/百度打开
  • 公司网站做的好的/黑帽seo优化软件
  • 网站开发的招标参数/网站免费网站免费优化优化
  • 个人网站的制作教程/中国2022年重大新闻
  • 网站建设现在主要做些什么/培训seo去哪家机构最好
  • 沈阳做网站优化的公司/网络营销题库及答案2020
  • 柳城企业网站建设公司/优化落实新十条措施
  • 网站前台的实现/关键词广告
  • 东莞专业技术人才服务网/seo广告优化多少钱
  • 自己做网站开微店可行吗/静态网页制作
  • 网站建设需要会什么软件/许昌seo公司
  • 大连网站建设找哪家好/网络营销公司名字大全
  • 图像分类-动手学计算机视觉10
  • HarmonyOS NDK的JavaScript/TypeScript与C++交互机制
  • 晓知识: 如何理解反射
  • 安装AI高性能推理框架llama.cpp
  • 标准io(1)
  • 《算法导论》第 16 章 - 贪心算法