![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
万能的搜索
文章平均质量分 72
Miserable_ccf
Stay hungry ,stay foolish
展开
-
万能的搜索——深度优先搜索Depth-First-Search
『什么是搜索』百度百科的定义搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。【搜索树】将搜索的过程中每一步的状态变成树的一个结点 根结点为搜索的初始状态 搜索是不断拓展这棵树,直到找到目标状态为止『深度优先搜索』顾名思义,优先向搜索树"深"层搜索的搜索的算法.其过程简要来说是对每一个可能的分支路径深入到不...原创 2018-07-27 22:10:08 · 313 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场)F.Partition problem
https://ac.nowcoder.com/acm/contest/882/F题意:给2*N个人,分成红和白两组,每个人和另外一组的每个人有一个竞争值,求最大的竞争值。给了一个邻接矩阵来表示i和j两个人之间的竞争值。思路:首先假设所有人都放在红组,然后使用DFS枚举每一个人将其放到白组中,递归基为当白组中的人数达到n时就判断该种情况是不是最小值。代码:#include<...原创 2019-07-22 10:37:09 · 94 阅读 · 0 评论 -
快乐地打牢基础(1)——二分与三分
二分是一种常用且非常精妙的算法,常常是我们解答问题的突破口。二分的基本用途是在单调序列或单调函数中做查找操作。因此当问题的答案具有单调性时,就可以通过二分把求解转换为判定(根据复杂度理论,可知判定的难度小于求解),这使得二分的应用变得广泛。进一步地,我们还可以通过三分法解决单调函数的极值以及相关问题。一、二分二分法,在一个单调有序的集合或者函数中查找一个解,每次分为左右两部分,判断解在哪...原创 2019-08-11 22:05:53 · 309 阅读 · 0 评论 -
POJ 1321 棋盘问题——dfs的n皇后问题
『题目描述』在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k...原创 2019-02-14 19:16:07 · 195 阅读 · 0 评论