随笔分类 -  基础算法

摘要:这道题在写之前一定要把题目读懂,笔者在设计代码时就对题意产生了错误的理解,好在后来这个错误被纠正了。 这道题最主要的点就是对解答树遍历并且回溯,也就是《算法竞赛入门经典》中所提到的“剪枝”。递归的主体是生成结点的全排列,而回溯操作简单来说就是在这个递归的基础上添加的一个判断。 先说生成全排列递归的操 阅读全文
posted @ 2020-08-16 17:51 江南湖西北 阅读(296) 评论(0) 推荐(0) 编辑
摘要:这道题主要是写一个图的遍历。因为题目中要求是最短路径,所以采用的是宽度优先遍历。本来是想缩短运行时间而采用头尾同时使用bfs算法,但奈何个人水平有限而未能实现。所以本题代码中使用就是最直接的bfs算法。由于写这段代码时比较匆忙,所以代码应该还有较大的优化空间。 1 #include <bits/st 阅读全文
posted @ 2020-08-10 16:45 江南湖西北 阅读(188) 评论(0) 推荐(0) 编辑
摘要:此题如果分析得当会发现本质上就是一个C语言的二-十进制转换。由于输入的S树的叶子节点是在xi已经排好序的基础上输入的,所以在解题时并不要考虑xi的顺序。 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 /**************** 阅读全文
posted @ 2020-08-09 16:30 江南湖西北 阅读(178) 评论(0) 推荐(0) 编辑