简单学习了一下搜索,写了一道关于搜索的题目。

dfs就是一条路走到底,发现没路了,返回来,走另一条路。

bfs就是每条路都走一点,走一点点后就走另一条路了。

BFS:

BFS类似于水波纹的扩散,在求解一些最短路径,最优值问题的时候效率很高。
BFS为了遍历,需要保存所有的状态,对空间来说是一个巨大的消耗。(因为通常是无法递归实现的)

DFS:

DFS主要应用于回溯的搜索问题中,比如迷宫问题,岛屿问题。
DFS能够做到使用一个状态变量去搜索所有的状态空间,这对空间的消耗来说,是非常节约空间的(通常使用递归实现)。

写的那个题主要用到了递归的思想以及简单的dfs,先判断它的边界,也就是判断它结束的条件,如果符合就返回上一步继续搜索下一种方案,循环反复把所有符合的都找出来,就是搜索。

问题 I: 夫子云游

题目描述

改编自猫腻所著的同名小说《将夜》目前正在火热开播,其中男主角宁缺在考书院二层楼时遇一题“那年春,夫子出国游历,遇桃山美酒,遂寻径登山赏桃品酒,一路摘花饮酒而行,始斩一斤桃花,饮一壶酒,后夫子惜酒,故再斩一斤桃花,只饮半壶酒,再斩一斤桃花,饮半半壶酒,如是而行……至山顶,夫子囊中酒尽,惘然四顾,问:夫子一共斩了几斤桃花,饮了几壶酒?”而当我们的男主角宁缺看到这道题目时,更是直接来了句“谁出的这道题,太二了”,紧接着就提笔写下了“夫子饮二壶酒,斩尽满山桃花”后直接就交卷走人了赢得书院弟子的大赞。

今夫子再次游历,他提着酒壶,从出院出来,酒壶中有酒2斗,他边走边唱:

无事街上走,提壶去打酒。
    逢店加一倍,遇花喝一斗。

这一路上,他一共遇到店M(0<M<=10)次,遇到花N(0<M<=10)次,已知最后一次遇到的是花,他正好把酒喝光了。

请计算夫子遇到店和花的合理的次序种数。

可以把遇店记为a,遇花记为b,如果M=5,N=10。则:babaabbabbabbbb 就是合理的次序之一。

输入

M、N 分别为遇到店和花的次数

输出

所有可能店和花次序方案的个数

样例输入 Copy

5 10
样例输出 Copy

14

#include<stdio.h>
int N,M,sum;
void dfs(int a,int b,int c) //店花酒
{if(a==0 && b==1 && c==1){sum++;return;}else{if(c<=0 || c>b){return;}if(a<M &&a>0){dfs(a-1,b,2*c);}if(b<N && b>0){dfs(a,b-1,c-1);}}
}int main()
{sum=0;scanf("%d%d",&M,&N);dfs(M,N,2);printf("%d\n",sum);return 0;
}
//有错还没改对,大概思想就是如此

彭哥教了我一下,原本的判断条件a<M,但是刚进入函数时a=M,不可能成立,不会进行下一步的递归。而且a只会减小不会增大不需要判断是否小于M。

改完以后:

#include<stdio.h>
int N,M,sum;
void dfs(int a,int b,int c)
{//printf("%d  %d  %d  %d\n",a,b,c,sum);if(a==0 && b==1 && c==1){sum++;return;}else{if(c>0 && a>0 && c<=b){dfs(a-1,b,2*c);}if(b>0 && c>0 && c<=b){dfs(a,b-1,c-1);}}
}int main()
{sum=0;scanf("%d%d",&M,&N);dfs(M,N,2);printf("%d\n",sum);return 0;
}

学习了一点儿dp。

题目1:数字三角形问题

从顶部向下走,每次只能走下面或者右下,走完全程,问你怎么走使得权值最大。

输入:

5

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

输出:

30

题目链接:NYOJ 18 The Triangle 填表法,普通dp - 西*风 - 博客园

#include<stdio.h>
int max,n,a[2000][2000],b[2000][2000];
//a储存原始三角形信息,b储存最大路径权值的和
int main()
{int i,j;scanf("%d",&n);for(i=1; i<=n; i++){for(j=1; j<=i; j++){scanf("%d",&a[i][j]);b[i][j] = a[i][j];}}for(i=n-1; i>0; i--)  //二维数组最后一行{for(j=1; j<=i; j++)  //二维数组第一行{if(b[i+1][j]>b[i+1][j+1])  //自底向上比较取最大值加和{max = b[i+1][j];}else{max = b[i+1][j+1];}b[i][j] += max;}}printf("%d",b[1][1]);return 0;
}

2021.12.9 学习总结相关推荐

  1. 2021/12/01学习总结

    8:00-9:40   大学英语 10:10-11:50   大学物理(又是催眠课呜呜) 12:30-13:00    看了会啊哈算法(看的不是很懂   等于白看了) 14:00-15:00      ...

  2. 2021/12/13 学习笔记:外部表不是预期的格式

    终于把所有的数据都按城市和季节处理完了,老师提出了新的想法: 把所有结果合并起来展示一下吧!(内心os:emm所以我为什么要按城市和季节处理呢?) 不过老师肯定有他的考虑,而且非常细心的给我提供了教程 ...

  3. cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Heterogeneous Graphs and Relational GCN (RGCN) ...

  4. cs224w(图机器学习)2021冬季课程学习笔记16 Community Detection in Networks

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Community Detection in Networks 2. Network Com ...

  5. 《安富莱嵌入式周报》第246期:2021.12.27--2022.01.02

    往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - P ...

  6. 【2021.12.25】ctf逆向中常见加密算法和编码识别

    [2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 文章目录 [2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 0.前言 1.基础加密手法 2.b ...

  7. cs224w(图机器学习)2021冬季课程学习笔记20 Advanced Topics on GNNs

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Advanced Topics on GNNs 2. Limitations of Grap ...

  8. cs224w(图机器学习)2021冬季课程学习笔记2: Traditional Methods for ML on Graphs

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. 章节前言 2. Traditional Feature-based Methods: Nod ...

  9. 2021.12.6-12.12 AI行业周刊(第75期):AI流程化

    篇章一:AI流程化 如果深度参与很多的人工智能项目,很多人会发现,大多数的项目都是长尾场景. 以城市管理和工业视觉两个方向为例,城市管理更偏向于智慧城市.智慧交通等领域,而工业视觉则偏向于工业自动化领 ...

最新文章

  1. 从智能合约到智能资产
  2. 2020ICPC(上海) - Sum of Log(数位dp)
  3. 图像存在hadoop比在mysql中_比较SQL数据库和Hadoop
  4. 计算机学院信息系统,信息系统
  5. 自动生成小学四则运算题目
  6. 贪吃蛇代码c 语言,刚学C语言,想写一个贪吃蛇的代码
  7. 传输层端口号的范围是多少?被分为哪两部分_根据资金习性可以把资金分为哪几类?_中级会计职称考试视频...
  8. 记一次java-selenium自动抢红包最简单案例1
  9. 链表c语言代码题库排坐标,[编程入门]链表合并-题解(C语言代码)
  10. http://www.guokr.com/blog/475765/
  11. thinkphp 一个文件怎么调用另一个文件中的define()_ThinkPHP 简易开发思路 amp;amp; MVC和URL跳转...
  12. Java事务处理总结
  13. DUKE大学BOE数据集 OCT图像积液分割/层分割数据集
  14. word打字时后面的字会消失是什么原因?如何解决?
  15. 近期优秀技术讲座资料和内容推荐
  16. matlab armax和arima区别,ARMA和ARIMA的区别是什么?
  17. vs2017 15.5.x dll调试不成功问题
  18. win10系统如何打开.swf视频文件,flash palyer无法使用
  19. 实用工具分享——PDF阅读
  20. 快速原型模型(Rapid Prototype Model)

热门文章

  1. 计算机开机响3声,电脑开机三声短响是什么原因?如何解决?
  2. 软件测试工程师需要达到什么水平才能顺利拿到 20k 无压力?
  3. 阿里微服务架构的分布式事务GTS
  4. 使用计算机教学的不足,信息技术在教学中的优势和不足之处
  5. 中国式危机公关9加1策略(第十四章 国外危机应对案例參考)
  6. 补光灯CE ROHS REACH认证 出口欧盟
  7. 投入式液位传感器可测量消防水箱、水池液位
  8. NBA球星来华 打短工还是掠夺性开发?
  9. mysql 如何解锁_Mysql如何解锁?
  10. UGUI UI在不同分辨率下的显示(Design UI For Multiple Resolutions)