![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法笔记
关切得大神
这个作者很懒,什么都没留下…
展开
-
算法笔记BFS篇:问题 E: 【宽搜入门】巧妙取量
#include <cstdio>#include<math.h>#include<queue>using namespace std;//这道题我的思路就是,怎么体现广度搜索的话,算是把第一种情况能分成的情况全都罗列出来//这算是第一层,然后把第一层全都放到队列中,并且他们的步数是step,然后再开始判断从第一层出来的第二层,//操作最难的还是...原创 2020-04-14 16:26:21 · 238 阅读 · 0 评论 -
算法笔记BFS篇:【宽搜入门】8数码难题
说真的,这道题我不会写。。。题解:看了网上挺多文章,自己也琢磨挺久的,终于在深夜搞定了。关键思想:用map实现映射参考别人的博客:一、状态如何表示?1.每个状态都用3*3的数组表示,但是BFS中需要入队出队,比较麻烦而且空间占用较大2.状态压缩,采用一个整数保存状态的数字序列,例如状态1表示为283104765,状态2表示为203184765二、如何判重?1.如果空间允许,开...转载 2020-04-14 12:37:42 · 167 阅读 · 0 评论 -
算法笔记BFS篇:问题 B: DFS or BFS?
我的代码其实是有一丢丢小问题的(我在备注里也写了),我也没改,不过大致思路是正确的。#include <cstdio>#include<math.h>#include<queue>using namespace std;//对于这道题,是需要有一个方法来更新地图的,也就是每选一部,就更新一次//然后对于主函数就是,进行各个方向的判断,这道题dfs...原创 2020-04-14 10:04:34 · 304 阅读 · 0 评论 -
算法笔记DFS篇:问题 E: 【递归入门】出栈序列统计
#include <cstdio>#include<math.h>//按照这个提示做一个深度遍历,也就是判断出栈的数字,是否等于n如果是的话,那就sun++//然后对两种情况 一个是出栈,一个是入栈进行对应的操作,我的想法是dfs有两个参数 一个是进栈,一个是出栈int res,n;void DFS(int in,int out){ //分别代表进栈...原创 2020-04-13 17:01:05 · 247 阅读 · 0 评论 -
算法笔记DFS篇:问题 C: 【递归入门】组合+判断素数
#include <cstdio>#include<math.h>//这题和之前的那一题差不多,在五个里面选择三个,然后判断是不是素数,再遍历全部的int n,m,sum;int ans[50],temp[50];//先写一个方法来判断是不是素数bool is_sushu(int x){ if(x<=1) return fal...原创 2020-04-13 16:37:24 · 290 阅读 · 0 评论 -
算法笔记DFS篇:问题 B: 【递归入门】组合的输出
#include <cstdio>int n,k,p[22];void Dfs(int index,int nowk){ if(nowk==k) { for(int i=1;i<k;++i) printf("%d ",p[i]); printf("%d\n",p[k]); return ; } if(index>n||nowk>k)...原创 2020-04-13 14:33:08 · 200 阅读 · 0 评论 -
算法笔记DFS篇:问题 A: 【递归入门】全排列
问题描述输入和输出:代码如下:#include<string>#include<iostream>#include<algorithm>#include<stdio.h>using namespace std;//这道题算是dfs的入门,首先对于输入的一个值 然后判断输入的这个值是第几位,如果是第n位的话,就直接输出//如果不...原创 2020-04-13 13:42:12 · 146 阅读 · 0 评论