以深度优先方式系统搜索问题解的算法称为回溯法。在回溯法中,解空间树主要分为了四种子集树、排列树、n叉树和不确定树。 在《算法设计与分析课本》中介绍了11个回溯法的问题样例,这里根据解空间树的类型做一个分类。 子集树 装载问题 符号三角形问题 0-1背包问题 最大团问题 算法模板: void back ...
分类:
编程语言 时间:
2019-12-09 21:13:28
阅读次数:
182
一、异常处理 --代码出现错误时,导致整个程序无法继续运行,需要用到try/except/else语句来对抛出的异常进行处理,让程序可以继续往下运行。 格式: try: 代码块 #这里放置可能发生错误的代码块,当没出现异常时,正常执行 except 类型名 【as 异常名】(实质是异常类型实例化的一 ...
分类:
其他好文 时间:
2019-12-08 15:32:40
阅读次数:
71
题:https://codeforces.com/contest/1099/problem/F 题意:给定一个树,每个节点有俩个信息x和t,分别表示这个节点上的饼干个数和先手吃掉这个节点上一个饼干的的时间。然后有先手和后手俩个人。 ?先手可以这么操作:在规定总时间T到达某个节点然后一定要返回根节点1 ...
分类:
其他好文 时间:
2019-12-08 01:19:43
阅读次数:
86
# 递归:在调用一个函数的过程中,又间接或者直接调用了该函数,称之为递归调用# 递推和回溯# age(5)=age(4)+2# age(4)=age(3)+2# age(3)=age(2)+2# age(2)=age(1)+2# age(1)=18# age(n)=age(n-1)+2# age(1 ...
分类:
其他好文 时间:
2019-12-07 21:19:35
阅读次数:
81
典型的倒水问题: 即把两个水杯的每种状态视为bfs图中的点,如果两种状态可以转化,即可认为二者之间可以连一条边。 有3种倒水的方法,对应2个杯子,共有6种可能的状态转移方式。即相当于图中想走的方法有6种,依次枚举即可。 用一个二维数组标记状态,以免重复。 难点在于输出路径,即bfs回溯。 我的处理方 ...
分类:
其他好文 时间:
2019-12-07 17:55:26
阅读次数:
87
1、46题,全排列 https://leetcode-cn.com/problems/permutations/ class Solution(object): def permute(self, nums): """ :type nums: List[int] :rtype: List[List[ ...
分类:
编程语言 时间:
2019-12-07 17:48:38
阅读次数:
92
原文地址:https://www.cnblogs.com/wupeixuan/p/11947343.html 1.0 安装和配置 1.1 Git 安装 1.2 Git 配置 2.0 Git 基本版本控制 3.0 处理文件 4.0 分支与合并 5.0 修复错误和回溯 6.0 对 Git 有用的提示和技 ...
分类:
其他好文 时间:
2019-12-06 09:31:48
阅读次数:
110
[TOC] 0x00 前言 没有 0x01 分析 这个漏洞被描述为“匿名用户可访问私密page”,由此推断是权限判断出了问题。如果想搞懂哪里出问题,必然要先知道wp获取page(页面)/post(文章)的原理,摸清其中权限判断的逻辑,才能知道逻辑哪里会有问题。 这里我们直接从wp的核心处理流程mai ...
分类:
其他好文 时间:
2019-12-04 01:20:18
阅读次数:
228
C Minimum Value Rectangle 题意:给n根木棒,选4根组成长方形,使得这个长方形的周长的平方比上其面积最小。 题解:对那个式子求导,发现对于同一个长来说,是长和宽越接近,上式越小。那么排序之后每个和他附近的一个组装一下就行了。 要是真按基环树去做,是不是要从入度0的点一个一个d ...
分类:
其他好文 时间:
2019-12-03 23:20:06
阅读次数:
94
1. 什么是回溯算法 回溯可以看作是一个搜索问题解的过程,这个过程分为很多个阶段,每一个阶段我们都有很多个选择,但我们不知道选择哪一个,所以就随机选择一个继续进行下一个阶段,如果发现找不到解,就回退到上一个阶段采取另外的选择再继续搜索。 比如之前图的深度搜索问题,我们就是沿着起始顶点一直向下搜索,发 ...
分类:
编程语言 时间:
2019-12-03 23:09:50
阅读次数:
90