穷举法又称穷举搜索法,是一种在问题域的解空间中对所有可能的解穷举搜索,并根据条件选择最优解的方法的总称。数学上也把穷举法称为枚举法,就是在一个由有限个元素构成的集合中,把所有元素一一枚举研究的方法。 使用穷举法解决问题,基本上就是以下两个步骤: ? 确定问题的解(或状态)的定义、解空间的范围以及正确 ...
分类:
编程语言 时间:
2019-05-30 01:46:06
阅读次数:
135
leecode练习 292、Nim游戏 题目要求: 你和你的朋友,两个人一起玩 “Nim 游戏”,桌子上有一堆石头,每次你们轮流拿掉 1 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏 示例: ...
分类:
其他好文 时间:
2019-05-21 20:51:48
阅读次数:
147
1)Dijkstra算法只能适用于权为正的图,有向图和无向图都可以用。 2)Dijkstra算法在权为正的图中,如果图恰好是环,那Dijkstra算法也能用,还可以输出最短路。 3)Dijkstra算法的本质是贪心,但是,这个可以求出最优解。它和Prim算法是不同的,尽管它们的在核心代码上是基本相似 ...
分类:
其他好文 时间:
2019-05-20 21:18:44
阅读次数:
184
大意: 给定数$n$, 求将$n$划分为最少的斐波那契数的和或差. 每次取相邻$n$的斐波那契数一定最优, 考虑证明. 结论1:存在一个最优解,使得每个斐波那契数使用不超过1次.(考虑$2F_n=F_{n-2}+F_{n+1}$) 结论2:存在一个最优解,使得同号数不相邻, 异号数间隔$\ge 2$ ...
分类:
其他好文 时间:
2019-05-20 19:21:28
阅读次数:
105
题意翻译 在一条直线上有n件珠宝,已知每件珠宝的位置,并且第 i 件珠宝在 ti 时刻就消失,问能否将所有的珠宝收集起来?如果能,求出最短时间。搜集能瞬间完成。 dp[i][j][k] 表示把i到j的珠宝全收完的最优解,k==0表示在i点,k==1表示在j点 #include<bits/stdc++ ...
分类:
其他好文 时间:
2019-05-19 15:47:58
阅读次数:
139
实验环境 语言:Python3.7 软件:Pycharm 算法步骤: 实验结果 通过程序运行,我们发现程序进行了4次迭代,在第4次迭代时结束运行,观察输出结果,最优解约为0.875,与教材上答案一致。 Python代码 ...
分类:
其他好文 时间:
2019-05-14 00:52:08
阅读次数:
423
72.Edit Distance(编辑距离) 题目: 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 思路: 多次选择试图得到最优解,那么考虑动态规划。 先假设word1有len1位,word2有len2 ...
分类:
编程语言 时间:
2019-05-13 17:47:27
阅读次数:
113
你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: (脑筋急转弯) ...
分类:
其他好文 时间:
2019-05-13 09:16:00
阅读次数:
138
贪心算法 贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法并不保证会得到最优解,但是在某些问题上贪心算法的解就是最优解。要会判断一个问题能否用贪心算法来计算。 1.找零问题 假设商店老板需要找零n元钱,钱 ...
分类:
编程语言 时间:
2019-05-12 20:06:11
阅读次数:
215
题目描述 FarmerJohn打算将电话线引到自己的农场,但电信公司并不打算为他提供免费服务。于是,FJ必须为此向电信公司支付一定的费用。FJ的农场周围分布着N(1ans的路径数可能大于k,如果过大则得不到最优解。所以我们可以二分答案,对于每个二分出的limitation,把边长大于它的路线的代价改 ...
分类:
其他好文 时间:
2019-05-11 16:04:08
阅读次数:
109