深搜回溯

已结束 ACM/ICPC 开始于: 2025-3-23 10:00 916 小时 主持人: 27

什么是回溯?

回溯法:也称“试探法”。它的基本思想是:为了求得问题的解,先选择一种可能情况向前探索,在探索过程中,一旦发现原来的选择是错误的,就退回一步重新选择,继续向前搜索,如此反复进行,直至得到解或证明无解;回溯法实际上是深度优先搜索的一种改进。

实现思路一

<br />

int search(int k){
    for(i = 1; i <= 算法总数; i++){
        if(满足条件){
            保存结果,保存现场状态;
            if(到目的地){
                输出解;
            } else{
                search(k + 1);
            }
            恢复: 保存结果之前的状态,回溯一步;
        }
    }
}
<br />

实现思路二

int search(int k){
    if(到目的地){
        输出解;
    } else{
        for(i = 1; i <= 算法种数; i++){
            if(满足条件){
                保存结果,保存现场状态;
                search(k + 1);
                恢复: 保存结果之前的状态;
            }
        }
    }
}

状态
已结束
规则
ACM/ICPC
题目
7
开始于
2025-3-23 10:00
结束于
2025-4-30 14:00
持续时间
916 小时
主持人
参赛人数
27