Day(1)

 前几天去福州参加了一个冬令营,总结如下

Day 1 枚举+dfs

枚举是一种很暴力的方法,就是把可能性一个个列出来,判断可行性和最优解,来一道经典例题

填数游戏:

   AB(ABC互不相等)

*    A

————

  CCC

这道题·相信就不用分析了,伪代码如下

for(int a=10;a<=10;++a)  
        for(int b=10;b<=10;++b)  
                for(int c=0;c<=10;++c)  
                if((a*10+b)*a==c*11


dfs是深度优化搜索,主要的方法有递归回溯,思想为从某个状态开始,先朝某个方向尝试一步到达新状态并搜索新状态,当搜索玩新状态时,撤销这一步,并朝另一个方向尝试,知道其中一步找到了我们所要的结果,或者遍历完了所有的可能性。简单地说,递归回溯就是选一个方向,不停地试下去,直到检查所有的可能性确认怎样做不行了,才会换一个方向。大概步骤如下:

1. 判断当前状态是否为所要的状态,视情况进行处理或回退

2. 在当前状态上枚举所有合法的方向,去某一个未尝试过的方向,如果没有就退出

3. 沿该方向走一步,改变状态。(尝试)

4. 在新的状态上执行这个流程。(递归)

5. 撤销2中的改变(回溯)

6. 回到2



回溯也差不多就讲到这儿了


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值