回溯法和八皇后问题
摘要:一、回溯法 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 二、八皇后问题 (一)问题描述 在国际象棋中,皇
阅读全文
posted @
2019-05-16 23:54
Alan_Fire
阅读(762)
推荐(0)
交换机器的最小代价
摘要:一、问题描述 有N台机器重量各不相等,现在要求把这些机器按照重量排序,重量从左到右依次递增。移动机器只能做交换操作,但交换机器要花费一定的费用,费用的大小就是交换机器重量的和。例如:3 2 1,交换1 3后为递增排序,总的交换代价为4。 给出N台机器的重量,求将所有机器变为有序的最小代价(机器的重量
阅读全文
posted @
2019-05-15 00:33
Alan_Fire
阅读(303)
推荐(0)
祘头君的字符(DFS)
摘要:一、题目 有n名选手在玩游戏,他们每个人有一个字符,每个字符都有自己固定的若干个特征。特征的种类数为k。每个人的特征为特征总集的一个子集。 两个字符的相似度定义为:如果两个字符A和B同时拥有某个特征或者同时没有某个特征,它们的相似度加一。 蒜头君想创造出一个字符,它与其它n名选手的字符的相似度分别为
阅读全文
posted @
2019-05-15 00:31
Alan_Fire
阅读(464)
推荐(0)
分治法求众数
摘要:一组数据中,出现次数最多的数就叫这组数据的众数。 如果有两个或两个以上个数出现次数都是最多的,那么这几个数都是这组数据的众数。 如果所有数据出现的次数都一样,那么这组数据没有众数。 例1:1,2,3,3,4的众数是3。 例2:1,2,2,3,3,4的众数是2和3。 例3:1,2,3,4,5没有众数。
阅读全文
posted @
2019-05-15 00:30
Alan_Fire
阅读(3798)
推荐(2)
动态规划之背包问题
摘要:背包问题泛指以下这一种问题: 给定一组有固定价值和固定重量的物品,以及一个已知最大承重量的背包,求在不超过背包最大承重量的前提下,能放进背包里面的物品的最大总价值。 这一类问题是典型的使用动态规划解决的问题,我们可以把背包问题分成3种不同的子问题:0-1背包问题、完全背包和多重背包问题。下面对这三种
阅读全文
posted @
2019-05-15 00:29
Alan_Fire
阅读(2230)
推荐(0)
广度优先遍历
摘要:观察下面两个无向图: 这两个图其实是一样的,只是画法不同罢了。第一张图更有立体感,第二张图更有层次感,并且把A点置为顶点(事实上图的任何一点都可以做为顶点)。 一、用数组来存放顶点 vexs[0] = ‘A’ vexs[1] = ‘B’ vexs[2] = ‘C’ vexs[3] = ‘D’ vex
阅读全文
posted @
2019-05-15 00:07
Alan_Fire
阅读(9479)
推荐(0)
对拍程序
摘要:一、介绍 在做题或者正式比赛过程中,有时候因为样例有坑所以直接过了样例,然后拿去评测结果发现全WA。那如何在这种情况下检查自己程序或算法的正确性呢?对拍是一个简便省事的方案。 所谓“对拍”,顾名思义,就是让两者相互比对。所谓“两者”,一是你要测试的程序,二是一个答案在该程序在一定范围(时间/空间)内
阅读全文
posted @
2019-05-14 23:26
Alan_Fire
阅读(445)
推荐(0)
小朋友学算法(2)
摘要:深入理解动态规划 先看一道北大POJ上的题: http://poj.org/problem?id=1163 1.png 在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1
阅读全文
posted @
2018-09-08 00:15
Alan_Fire
阅读(323)
推荐(0)
小朋友学算法(1)
摘要:求质数 (一)质数 质数,又称为素数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(只有1和本身两个因数的数)。 (二)思路 如果m不能被 2~m的平方根 中的任何一个数整除,则m为素数。 证明(反证法): 由i = m/i ==> i = sqrt(m) 这样,对于i属
阅读全文
posted @
2018-09-08 00:12
Alan_Fire
阅读(453)
推荐(0)