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

淮北发展aso优化工具

淮北发展,aso优化工具,方圆网站建设,住房和城乡建设部令第51号审题: 本题需要我们找出将值为n的数分为k个数的和的所有组合,并打印 时间复杂度分析:数据个数为三位数级别,所以我们需要严格剪枝才可以使用dfs算法 思路:方法一:深度优先算法 搜索与剪枝策略: …

审题:

本题需要我们找出将值为n的数分为k个数的和的所有组合,并打印

时间复杂度分析:数据个数为三位数级别,所以我们需要严格剪枝才可以使用dfs算法

思路:方法一:深度优先算法

搜索与剪枝策略:

搜索策略:一格格的进行数据插入,利用pos定插入位置,begin定开始插入的数字

如图所示:

剪枝1:我们看到圆圈1的位置,若第一个插入了2,第二个就不能插入1了,因为21_会和前面的12_情况重合,此时我们就需要剪掉这种等效冗余情况

剪枝2:我们看到圆圈2的位置,当我们遍历到3开头时,根据剪枝1,我们只能往后面插入大于等于之前的数据的数字,而即使后面的数都是3也已经总和大于6了,所以以3开头是不可能满足条件,直接剪枝这种情况即可

剪枝3:我们如果dfs进入了不满足剪枝2的情况后才进行判断会导致有额外的时间消耗,可能导致超时,所以我们要在进入不满足剪枝2的情况之前进行剪枝。

解题:

(1)main函数

(2)dfs

剪枝1:本质上就是只能往位置中插入大于等于前一个位置的数据的数字,体现在代码中就是从begin值开始插入

剪枝2与3:首先确定剪枝2的实现,我们的当前sum加上剩下的空格中都为i的值的总和大与n,说明此时最小总和都大于n。剪掉该情况,直接返回上一层dfs。

其次确定剪枝位置,不能是for循环外面,因为在外面剪枝是属于进入了该情况才剪枝,而我们是要实现在进入剪枝情况之前就剪枝,所以要在进入dfs前进行判断

P1025 [NOIP 2001 提高组] 数的划分 - 洛谷

http://www.dtcms.com/wzjs/484189.html

相关文章:

  • 企业网站建设专业精准乙 鸣远科技西安网站公司推广
  • 作图网站管理培训机构
  • 莱州教育网站网店如何做推广
  • 莱芜招聘的网站十大最靠谱培训机构
  • 做影视网站需要多少钱女生读网络营销与电商直播
  • 网站一般采用的设计方案百度客服在线咨询
  • 云南企业网站开发seo教程seo优化
  • 为什么说做网站赚钱百度投放
  • 做一个招聘信息的网站 用什么做网站的软件墨子学院seo
  • 做视频网站视频短片全球搜索引擎网站
  • 做慈善网站nba今日最新消息
  • 做网站 就上微赞网seo上海优化
  • 宁海有做网站的吗万网
  • 服装做外贸的网站建设百度网盘首页
  • 连接国外网站做端口映射长沙在线网站的目标客户
  • 省政府领导分工网站优化排名的方法
  • 网站设计怎么边加载变查看网络营销策划方案
  • 陕西做网站的公司swot分析
  • 北京到安阳高铁外链seo招聘
  • 大学英文网站建设方案网站页面
  • 网站规划的特点宁波seo咨询
  • 做平面设计的网站广州头条今日头条新闻
  • 东莞行业网站建设公司网页制作模板
  • 网站黑链 工具最近一周新闻大事件
  • 哪些网站可以做顺风车我的百度账号登录
  • 潍坊网站建设电话中国十大外贸平台
  • 平稳有序推进网站建设核心关键词是什么意思
  • 杭州下沙做网站的论坛百度搜索引擎优化相关性评价
  • 网站建设公司-跨界鱼科技企业网站代运营
  • 做防护信息的网站最新热搜新闻