看到数论就懵了,题目有两个解法,第一个解法是组合数学的内容,解析用英文写的,看不懂;第二个解法是暴力搜索的,找了网上用同样方法的中文注释代码才看明白。首先如果直接枚举肯定玩完,要找些其他办法。题目中用到了dfs,或者叫暴力搜索,但是思路很巧妙。函数设计了三个参数,分别是搜索层数lev,代表10的次方 ...
分类:
其他好文 时间:
2018-09-11 00:58:02
阅读次数:
228
A*算法: A*,启发式搜索,是一种较为有效的搜索方法。 我们在搜索的时候,很多时候在当前状态,已经不是最优解了,但是我们却继续求解;这个就是暴力搜索浪费时间的原因。 我们在有些时候,往往可以根据一些信息推断出继续搜索是一种劣解。 所以如果能够判断出来的话,就可以不继续了,以达到节省运行时间的目的。 ...
分类:
其他好文 时间:
2018-09-08 22:40:51
阅读次数:
244
回溯法 回溯法是暴力搜索法的一种,从直观的角度来看,它是建立了一颗树。但和完全的暴力法不同的是,它在求解的过程中能够对于那些不符合要求的节点及时的剪枝,“回溯”回去。 在建立这颗树的过程当中,控制好递归当中循环的细节、退出的条件、添加哪些节点的值是至关重要的。不同的方法得到的树不同,结果也不同。 下 ...
分类:
其他好文 时间:
2018-09-04 23:30:17
阅读次数:
270
A: 题目链接 : https://vjudge.net/contest/250823#problem/A 参考 : https://www.cnblogs.com/helenawang/p/5465481.html K: 题目链接 : https://vjudge.net/contest/2508 ...
分类:
其他好文 时间:
2018-08-30 10:54:39
阅读次数:
215
题目链接 此题运用功能强大的 ~~暴力搜索~~ 记忆化搜索才是重点!!! 然而,这是一道经典的DP问题 如果我们用$dis[i][j]$来表示坐标为$(i,j)$时的高度 $cnt[i][j]$ 是我们的记忆化数组 在合法的前提下,就有状态转移方程: $dis[i][j]=max(dis[i-1][ ...
分类:
其他好文 时间:
2018-06-13 21:45:02
阅读次数:
164
一.算法 1.问题定义输入和输出的关系,算法面向一个问题, 2.特点:有穷性、确定性、能行性、输入、输出 3.伪代码:用来描述算法,重点体现流程 4.算法复杂性分析:时间复杂性、空间复杂性、I/o等 5.最好复杂性、最坏复杂性、平均复杂性 6.算法设计模式:暴力搜索、分治法、图搜索和枚举、随机化方法 ...
分类:
编程语言 时间:
2018-06-01 22:12:37
阅读次数:
189
链接 思路 二分+搜索+剪枝。 首先二分一个答案,表示最多可以切出x块。(一个结论:切出的一定是从较小的前x块。如果一个木材可以满足很多个需要的木材,那么切出最小的,就意味着以后再选时的机会更多。) 然后暴力搜索前x块分别由哪个木材切出。 剪枝1:如果所有提供的木材加起来也不能满足需要的木材,直接跳 ...
分类:
其他好文 时间:
2018-04-27 12:13:45
阅读次数:
120
https://leetcode.com/articles/trapping-rain-water/ 做完了一道hard难度的题目,个人还是很激动的,突然那觉得“双指针”简直就是神器,题目要求整个容器能盛下的水的数量,直观上来看,只有凹槽部分才能盛水,暴力搜索法复杂度太高,最佳方法是使用双指针,左右 ...
分类:
移动开发 时间:
2018-03-14 15:12:22
阅读次数:
204
问题链接 "Leetcode 1" 题目解析 给定一数字数组及目标和,求数组中和为目标的两个数下标。 解题思路 暴力搜索肯定过不了,时间复杂度为 $O(n^2)$,TLE教你做人。 本题利用map可以轻松过,怎么用呢?简单理解为map可以在两个对象之间建立联系,即(key, value)。 数组中的 ...
分类:
其他好文 时间:
2018-03-09 18:06:28
阅读次数:
162
Array 532. K diff Pairs in an Array 方案一:暴力搜索, N平方的时间复杂度,空间复杂度N 数组长度为10000,使用O(N2)的解法担心TLE,不建议使用,尽管最终验证还是可以过. 方案二:哈希 时间复杂度N 空间复杂度N ...
分类:
其他好文 时间:
2018-03-07 15:14:20
阅读次数:
98