![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
10 柒
这个作者很懒,什么都没留下…
展开
-
后序遍历与中序遍历确定树,PAT A1020
PAT 1020利用后序遍历和中序遍历建树并用层序遍历输出这棵树原题翻译后为:详细代码和注释:/** * 题目就是给出树的后续和中序遍历 * 求出这颗树,并用层序遍历输出结果 */#include <cstdio>#include <iostream>#include <queue>using namespace std;const int maxn=50;//创建节点对象struct node{ int data;原创 2020-08-25 17:35:23 · 173 阅读 · 0 评论 -
区间贪心:区间不相交、区间选点问题
区间贪心问题区间不相交问题:给出N个开区间(x,y),从中选择尽可能多的区间,使得这些开启的区间两两没交集首先若有A包裹B的地方,比如A[1,5], B[2,4], 显然我需要的只是B,因为B被选中,占地区域更小右更大的空间给别的区域去占,所以有包含的这种情况时选择区间小的。那想一想最后我求出来的符合问题的解,一定是在坐标轴上依次排列沒有交集的,也就是说,左边的一个区间C的右端点一定小于右临的区间的左端点。因此求解方法是:先建立区间结构体数组,按左端点从小到大排序(按右端点的话就是从大到小排序),左原创 2020-08-24 11:52:26 · 477 阅读 · 0 评论 -
n皇后问题-全排列
n皇后问题 看成全排列 利用回溯法剪枝原题:题解: 因为n皇后是在一个正方形的格子里的,且必定不同行不同列,所以每一个成功的排列组合必定包含是1到n的数的全排列中的。比如8皇后,我们就可以利用递归求出1-8的全排列,然后依次检查这组全排列是否有在一条斜线上的,如果有就跳过,沒有则是一种成功的排列方法,计数count++; 那判断两个棋子是否在一条斜线上也很简单,因为棋盘是个正方形,我们只要判断列之间的距离与棋子对应的之间的距离是否相同即可,相同则是在一条斜线上。 回溯的方法:第一种递归的方原创 2020-08-18 11:53:19 · 742 阅读 · 0 评论 -
c++ string类注意事项与使用 PAT B1002写出这个数
c++中的string类与c中的string.h头文件的函数不一样,< string >更多的是将字符串看成对象来处理。注意2.1 string对象只能用cin输入和cout输出,不能用scanf和printf输入输出!!非要想不开要用的话可以通过**c_str()**的方法...原创 2020-06-20 07:43:11 · 127 阅读 · 0 评论