2021.12.9 学习总结
简单学习了一下搜索,写了一道关于搜索的题目。
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
样例输出 Copy14
#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 学习总结相关推荐
- 2021/12/01学习总结
8:00-9:40 大学英语 10:10-11:50 大学物理(又是催眠课呜呜) 12:30-13:00 看了会啊哈算法(看的不是很懂 等于白看了) 14:00-15:00 ...
- 2021/12/13 学习笔记:外部表不是预期的格式
终于把所有的数据都按城市和季节处理完了,老师提出了新的想法: 把所有结果合并起来展示一下吧!(内心os:emm所以我为什么要按城市和季节处理呢?) 不过老师肯定有他的考虑,而且非常细心的给我提供了教程 ...
- cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Heterogeneous Graphs and Relational GCN (RGCN) ...
- cs224w(图机器学习)2021冬季课程学习笔记16 Community Detection in Networks
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Community Detection in Networks 2. Network Com ...
- 《安富莱嵌入式周报》第246期:2021.12.27--2022.01.02
往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - P ...
- 【2021.12.25】ctf逆向中常见加密算法和编码识别
[2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 文章目录 [2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 0.前言 1.基础加密手法 2.b ...
- cs224w(图机器学习)2021冬季课程学习笔记20 Advanced Topics on GNNs
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Advanced Topics on GNNs 2. Limitations of Grap ...
- cs224w(图机器学习)2021冬季课程学习笔记2: Traditional Methods for ML on Graphs
诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. 章节前言 2. Traditional Feature-based Methods: Nod ...
- 2021.12.6-12.12 AI行业周刊(第75期):AI流程化
篇章一:AI流程化 如果深度参与很多的人工智能项目,很多人会发现,大多数的项目都是长尾场景. 以城市管理和工业视觉两个方向为例,城市管理更偏向于智慧城市.智慧交通等领域,而工业视觉则偏向于工业自动化领 ...
最新文章
- 从智能合约到智能资产
- 2020ICPC(上海) - Sum of Log(数位dp)
- 图像存在hadoop比在mysql中_比较SQL数据库和Hadoop
- 计算机学院信息系统,信息系统
- 自动生成小学四则运算题目
- 贪吃蛇代码c 语言,刚学C语言,想写一个贪吃蛇的代码
- 传输层端口号的范围是多少?被分为哪两部分_根据资金习性可以把资金分为哪几类?_中级会计职称考试视频...
- 记一次java-selenium自动抢红包最简单案例1
- 链表c语言代码题库排坐标,[编程入门]链表合并-题解(C语言代码)
- http://www.guokr.com/blog/475765/
- thinkphp 一个文件怎么调用另一个文件中的define()_ThinkPHP 简易开发思路 amp;amp; MVC和URL跳转...
- Java事务处理总结
- DUKE大学BOE数据集 OCT图像积液分割/层分割数据集
- word打字时后面的字会消失是什么原因?如何解决?
- 近期优秀技术讲座资料和内容推荐
- matlab armax和arima区别,ARMA和ARIMA的区别是什么?
- vs2017 15.5.x dll调试不成功问题
- win10系统如何打开.swf视频文件,flash palyer无法使用
- 实用工具分享——PDF阅读
- 快速原型模型(Rapid Prototype Model)
热门文章
- 计算机开机响3声,电脑开机三声短响是什么原因?如何解决?
- 软件测试工程师需要达到什么水平才能顺利拿到 20k 无压力?
- 阿里微服务架构的分布式事务GTS
- 使用计算机教学的不足,信息技术在教学中的优势和不足之处
- 中国式危机公关9加1策略(第十四章 国外危机应对案例參考)
- 补光灯CE ROHS REACH认证 出口欧盟
- 投入式液位传感器可测量消防水箱、水池液位
- NBA球星来华 打短工还是掠夺性开发?
- mysql 如何解锁_Mysql如何解锁?
- UGUI UI在不同分辨率下的显示(Design UI For Multiple Resolutions)