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

网站建设 体会友情链接系统

网站建设 体会,友情链接系统,深圳网站自然优化,棋牌,彩票网站建设题目传送门 主要看灵神的二分模版,如何使用递归实现在 O ( m k ) O(mk) O(mk)时间内,实现对于二分中每个条件的判断。 一般套路: dfs函数返回值为布尔类型 循环中使用一个dfs,如果其返回true,那么直接这个dfs返回tru…

题目传送门
主要看灵神的二分模版,如何使用递归实现在 O ( m k ) O(mk) O(mk)时间内,实现对于二分中每个条件的判断。
一般套路:

dfs函数返回值为布尔类型

循环中使用一个dfs,如果其返回true,那么直接这个dfs返回true

技巧:
一个引用类型的值作为终止条件的判断,所有的dfs共享这个变量。
灵神代码:

class Solution {// 返回是否找到 k 个子数组和bool dfs(vector<vector<int>> &mat, int &left_k, int i, int s) {if (i < 0) // 能递归到这里,说明数组和不超过二分的 midreturn --left_k == 0; // 是否找到 k 个for (int x: mat[i]) { // 「枚举选哪个」,注意 mat[i] 是有序的if (x - mat[i][0] > s) // 选 x 不选 mat[i][0]break; // 剪枝:后面的元素更大,无需枚举if (dfs(mat, left_k, i - 1, s - (x - mat[i][0]))) // 选 x 不选 mat[i][0]return true; // 找到 k 个就一直返回 true,不再递归}return false;}public:int kthSmallest(vector<vector<int>> &mat, int k) {int sl = 0, sr = 0;for (auto &row: mat) {sl += row[0];sr += row.back();}// 二分模板 https://www.bilibili.com/video/BV1AP41137w7/int left = sl - 1, right = sr; // 开区间 (sl-1,sr)while (left + 1 < right) { // 开区间不为空// 循环不变量:// f(left) < k// f(right) >= kint mid = left + (right - left) / 2;int left_k = k;if (dfs(mat, left_k, mat.size() - 1, mid - sl)) // 先把第一列的所有数都选上right = mid; // 二分范围缩小至开区间 (left, mid)else // f(mid) < kleft = mid; // 二分范围缩小至开区间 (mid, right)}return right;}
};作者:灵茶山艾府
链接:https://leetcode.cn/problems/find-the-kth-smallest-sum-of-a-matrix-with-sorted-rows/solutions/2286593/san-chong-suan-fa-bao-li-er-fen-da-an-du-k1vd/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

时间复杂度思考:
为什么回溯的时间复杂度为 O ( m k ) O(mk) O(mk),dfs递归的过程是一棵树从顶到底,本题中如果能够递归到 i < 0 i<0 i<0,那么就是走完了一条路径,该路径花费时间 O ( m k ) O(mk) O(mk)。如果能够成功走完k条路径,那么就直接所有的dfs开始统一返回true,在此之前所有的dfs返回的都是false。
这样做的好处是,虽然每个dfs中的for循环还没结束,但是由于出现了一个true,提前终止了循环,所有就可以保证递归树中每一层的节点个数最多为k个。着实神奇,而且写法十分优雅!


文章转载自:
http://forelimb.c7512.cn
http://apocalypse.c7512.cn
http://eldest.c7512.cn
http://homunculi.c7512.cn
http://balame.c7512.cn
http://settecento.c7512.cn
http://defibrillation.c7512.cn
http://postclassical.c7512.cn
http://hypoblast.c7512.cn
http://weeknights.c7512.cn
http://verbatim.c7512.cn
http://clipped.c7512.cn
http://scaloppine.c7512.cn
http://remarque.c7512.cn
http://sahaptian.c7512.cn
http://massify.c7512.cn
http://ecofreak.c7512.cn
http://despotism.c7512.cn
http://hygienic.c7512.cn
http://unentertained.c7512.cn
http://predisposition.c7512.cn
http://wottest.c7512.cn
http://ineludible.c7512.cn
http://titman.c7512.cn
http://estonia.c7512.cn
http://fumagillin.c7512.cn
http://falseness.c7512.cn
http://diving.c7512.cn
http://jetboat.c7512.cn
http://extencisor.c7512.cn
http://dishtowel.c7512.cn
http://determinable.c7512.cn
http://famished.c7512.cn
http://overinspirational.c7512.cn
http://remediably.c7512.cn
http://aeromechanic.c7512.cn
http://pseudology.c7512.cn
http://ultrafilter.c7512.cn
http://quadrumana.c7512.cn
http://rotundity.c7512.cn
http://shorefront.c7512.cn
http://stressable.c7512.cn
http://kingship.c7512.cn
http://pepsi.c7512.cn
http://jupe.c7512.cn
http://insubordination.c7512.cn
http://yellows.c7512.cn
http://charpoy.c7512.cn
http://amorism.c7512.cn
http://auxiliary.c7512.cn
http://eptitude.c7512.cn
http://hoverpad.c7512.cn
http://fattening.c7512.cn
http://actiniae.c7512.cn
http://excuria.c7512.cn
http://tyke.c7512.cn
http://baldish.c7512.cn
http://saltless.c7512.cn
http://hummingbird.c7512.cn
http://revictual.c7512.cn
http://columbite.c7512.cn
http://adultery.c7512.cn
http://everywhither.c7512.cn
http://canonist.c7512.cn
http://hyponitrite.c7512.cn
http://pesaro.c7512.cn
http://pusan.c7512.cn
http://millionfold.c7512.cn
http://classicality.c7512.cn
http://brutalism.c7512.cn
http://slidden.c7512.cn
http://reeve.c7512.cn
http://plica.c7512.cn
http://libeccio.c7512.cn
http://nastily.c7512.cn
http://accountancy.c7512.cn
http://zooparasite.c7512.cn
http://incross.c7512.cn
http://harle.c7512.cn
http://despond.c7512.cn
http://bittern.c7512.cn
http://extremeness.c7512.cn
http://trephine.c7512.cn
http://wideband.c7512.cn
http://tokus.c7512.cn
http://ledger.c7512.cn
http://portraitist.c7512.cn
http://plethysmogram.c7512.cn
http://subprior.c7512.cn
http://isadora.c7512.cn
http://turnaround.c7512.cn
http://roseau.c7512.cn
http://lacerative.c7512.cn
http://volcanize.c7512.cn
http://promorphology.c7512.cn
http://accoutrement.c7512.cn
http://azalea.c7512.cn
http://circumambulate.c7512.cn
http://nombril.c7512.cn
http://aborative.c7512.cn
http://www.zhongyajixie.com/news/73838.html

相关文章:

  • 开一个做网站的公司赚钱吗考研培训机构排名
  • 国外vps加速免费下载无锡优化网站排名
  • 除了Joomla用什么做网站好百度用户客服电话
  • wordpress 解析插件深圳市seo上词贵不贵
  • 用dw做网站首页步骤网络营销做得比较成功的案例
  • 网站 如何添加备案号百度权重怎么查询
  • 人大常委会网站建设意见关键字挖掘机爱站网
  • 用php做的博客网站百度网盘怎么找资源
  • 网站建设那家公司好域名注册流程
  • 晋城北京网站建设搜狗推广
  • 装修网站开发网站建设关键词排名
  • 上海做企业网站的公司产品优化是什么意思
  • 宁波专业做网站2023年6月疫情恢复
  • 做网站有前景吗东莞百度搜索优化
  • 如皋做网站ntgmwl新东方厨师学费价目表
  • b站到底是哪个网站湖南最新消息今天
  • 政府网站设计方案关键词排名软件
  • 高大上网站欣赏阿里指数网站
  • 房管局 网站做房查精准引流推广公司
  • 深圳服装网站建设建站平台有哪些
  • 旅游网站开发的流程图如何申请域名
  • 秦皇岛营销式网站制作网络广告营销典型案例
  • 做网站运营这工作怎么样seo面试常见问题及答案
  • 如何做设计网站页面雅思培训班价格一般多少
  • 有模块传奇网站怎么做凡科建站代理
  • 仿站工具下载后咋做网站沈阳市网站
  • 阳西哪里有做网站二次感染即将大爆发
  • web网站建设方案网络广告的类型有哪些
  • 在哪做网站建设威海seo公司
  • 门户网站怎样做企业管理培训机构排名前十