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

湖北做网站教程哪家好网络营销师证书查询

湖北做网站教程哪家好,网络营销师证书查询,制作网页实训报告,某企业网站建设方案论文曾经我们讲过枚举算法,那假设我们把枚举算法应用到搜索里呢? 1.搜索枚举 以前我们在进行枚举的时候是用了多层循环嵌套,但是当枚举的变量过多或者是输入的数量的时候就很难利用循环完成枚举了,不过我们可以尝试利用搜索进行枚举。…

曾经我们讲过枚举算法,那假设我们把枚举算法应用到搜索里呢?

1.搜索枚举

以前我们在进行枚举的时候是用了多层循环嵌套,但是当枚举的变量过多或者是输入的数量的时候就很难利用循环完成枚举了,不过我们可以尝试利用搜索进行枚举。

通常,我们通过一个 dfs 函数来完成搜索枚举,而通过参数表示当前状态。例如在大部分搜索枚举问题中,可以通过 step 或 depth 表示当前枚举层数,或使用 n 表示已经选入的数量,亦或在对于一些对 和 有限制的问题中,使用 sum 表示已经选入的数量之和。

让我们看一道能够使用搜索枚举实现的题目:现有方程a[1]x[1]+a[2]x[2]+a[3]x[3]+...+a[n]x[n]=0 2≤n≤10,−5≤a[i]≤5,−2≤x[i]≤2,x[i]∈Z

求解的总数。

Z 表示整数集合,其包括了:全体正整数、全体负整数和零。

能够估算所有的状态总数在 10的5次方∼10的7次方,能够枚举全部的状态。虽然能够使用 10 个循环完成,但此处使用搜索枚举更为方便。

int ans = 0;
void dfs(int dep, int sum) {if (dep == n) {if (sum == 0){ans++;}return;}for (int i = -2; i <= 2; i++) {dfs(dep + 1, sum + a[dep] * i);}
}

在很多搜索枚举的问题中,会要求我们打印解的具体内容,那么可使用数组来保存具体的解。如对于之前求方程解的问题,可将代码修改为:

int ans[15];
void dfs(int dep, int sum) {if (dep == n) {if (sum == 0){for (int i = 0; i < n; i++) {cout << ans[i] << " ";}cout << endl;}return ;}for (int i = -2; i <= 2; i++) {ans[dep] = i;dfs(dep + 1, sum + a[dep] * i);}
}

把在dep这一层选择的情况放在ans[dep]位置,ans数组就记下了目前枚举到的情况。n

在搜索枚举的过程中,我们能够根据题目的一些性质,对求解的过程进行剪枝优化,这个我们以后也会学到。但是对大部分题目来说,搜索枚举很有可能达到状态的上限,所以很有必要在决定使用搜索枚举之前确定状态的总数。

http://www.ds6.com.cn/news/46179.html

相关文章:

  • 国外做网站的软件企业站seo报价
  • 街区网站建设市场营销专业就业方向
  • wordpress调用当前分类名称网站专业术语中seo意思是
  • dw网页制作教程装修手册网站推广关键词排名优化
  • 嘉兴企业网站排名优化seo快速排名多少钱
  • 通辽网站开发招聘免费seo诊断
  • 花西子的网络营销策略seo薪酬如何
  • 新网络营销外汇seo公司
  • 公司网站开发方案网站宣传推广策划
  • 公司邮箱怎么注册申请seo关键技术有哪些
  • 企业做网站etp和源程序百度知道问答平台
  • 邢台营销型网站建设国外免费网站域名服务器
  • 大型社区网站开发文档2022年今天新闻联播
  • 潍坊住房公积金官网seo网站优化方案
  • 可信网站认证必需做吧个人网站制作多少钱
  • 如何做淘宝客自己的网站互联网推广运营是干什么的
  • 男女做爰真人视频免费网站北京、广州最新发布
  • 企业网站 域名注册营销推广运营
  • 游戏的制作方法淄博seo网站推广
  • 论坛的网站制作如何seo网站推广
  • 同一个公司可以做几个网站个人seo怎么赚钱
  • 广西钦州网站建设身边的网络营销案例
  • 有api对接文档怎么做网站站长综合查询工具
  • 高端网站建设方案报价网站优化排名公司
  • 日本网站开发前端2020新闻大事件摘抄
  • 沧州营销型网站建设360优化大师官方下载手机
  • 青岛网站建设东橙品牌设计永久免费的建站系统有哪些
  • 医疗网站建设多少钱建网站的公司排名
  • 网站策划书模板大全石家庄关键词优化报价
  • 基于百度地图的网站开发百度竞价登录入口