- 博客(17)
- 收藏
- 关注
原创 关于Mac安装使用MySql的几个ERROR的解决办法
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)ERROR! The server quit without updating PID filecaching_sha2_passwordERROR 1698 (28000): Access denied for user ‘root’@'localhost’
2022-09-16 11:02:15
1479
1
原创 N皇后问题
1.题目分析N皇后问题的DFS回溯程序非常简单,关键有两处,一是如何递归,二是如何剪枝回溯。2.代码展示编辑器:Xcode Version 13.1//// main.cpp// N皇后问题//// Created by Jkchou on 2022/1/25.//#include <iostream>#include <cmath>using namespace std;int n, tot = 0;int col[12] = {0}
2022-01-25 23:42:35
253
原创 八数码问题
1.题目分析 八数码问题是一个经典的BFS问题。BFS的从近到远的扩散过程,适合寻找最短路径。通过BFS解决八数码问题得到的距离就是最短路径。在分析题目的时候,可以看出,解决这题的关键在于如何“判重”,当我们在观察棋盘的时候,我们会发现每次上右下左移动的时候,可能会出现重复的棋盘状况,这是我们不希望看到的,复杂度会大大增加。而当我们使用暴力判重的时候,需要对棋盘9! = 362880个状态进行对比,这同样效率不高。通过查阅资料,本题可以使用数学方法“康托展开”(O(n^2)...
2022-01-24 10:43:50
696
原创 康托展开详解
1.概述康托展开(Cantor Expansion)是一个相对快速的判重方法,是一种特殊的哈希函数,其复杂度为O(n^2),n是集合中元素的个数。函数康托Cantor()实现的功能是:输入一个排列,得到这个排列所对应的Cantor值。2.举例表1 康托展开完成的工作排列状态 012345678 012345687 012345768 012345786 …… 876543210 Cantor...
2022-01-23 13:30:21
3715
2
原创 “胜利大逃亡“
1.题目分析题目:http://acm.hdu.edu.cn/showproblem.php?pid=1253hdu进不去了(不知道为什么),所以大家也可以去百度搜题目,是肯定能搜到的。这是一道BFS/DFS的题目,如果大家做过hdu 1312 "Red and Black"的话对这个题肯定不难。这题只是在1312的基础上,将二维改为三维及其他部分改动而已。使用BFS的话通过队列来实现。 2.代码展示编辑器:Xcode Version 1...
2022-01-22 16:21:19
190
原创 “Find The Multiple“
1.题目分析本题的题意是让我们求一个数n(n <=200)的m倍的数(即这个数对n取模==0),这个数仅由1和0组成。本题考查的是BFS/DFS。我们可以另x=1,每次对x取x*10和x*10+1来达到这个十进制数是由1,0组成的目的,进而通过判断x % n == 0的操作来判断是否是所求。每次对x取x*10和x*10+1进行操作我们可以使用递归(栈)或者队列进行实现,相应的对应着DFS和BFS。由于本题的n较小,使用long long可以直接过,不用担心溢出问题。...
2022-01-20 19:17:18
84
原创 “Catch That Cow“
1.题目分析这是一道BFS(广度优先搜索)/DFS的算法题。相较于老鼠走迷宫,这是一道一维的BFS,做题之前可以进行预处理,将N >= K的情况单独解决,因为若农夫在牛前面那只能往后走。然后我们需要一个结构体来表示走到不同位置及已花费的时间,一个记录数组来表示走过的位置。然后就可以按照BFS的思路使用queue进行实现,代码如下:2.代码展示编辑器:Xcode Version 13.1//// main.cpp// Catch t...
2022-01-19 03:53:25
337
原创 C++STL集合set的相关指令及例题产生冠军问题求解
1.产生冠军问题求解题目已略,代码如下。 输入s1与s2进行比赛,s1胜,s2败。 使用set实现//// main.cpp// 产生冠军//// Created by Jkchou on 2022/1/17.//#include <iostream>#include <string>#include <set>using namespace std;int main(){ set<string>...
2022-01-17 22:39:35
729
原创 C++STL容器vector的相关指令及例题圆桌问题的求解
圆桌问题求解 题目已略,代码如下 “G”代表好人,“B”代表坏人。使用容器vector动态实现。 编辑器:Xcode Version 13.1//// main.cpp// 圆桌问题//// Created by Jkchou on 2022/1/16.//#include <iostream>#include <vector>using namespace std;int main(){ int n, m; vector&..
2022-01-16 16:09:48
458
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人