
dfs与递归
文章平均质量分 53
_九磅十五便士_
这个作者很懒,什么都没留下…
展开
-
AtCoder Beginner Contest 259 F - Select Edges(树形dp)
树形dp原创 2022-07-10 17:11:57 · 627 阅读 · 0 评论 -
蓝桥杯 带分数(dfs+枚举+思维)
[假的题目传送门]资源限制时间限制:1.0s 内存限制:256.0MB问题描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入格式从标准输入读入一个正整数N (N<1000*1000)输出格式程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个原创 2021-04-08 13:52:30 · 690 阅读 · 0 评论 -
POJ 1426 Find The Multiple (BFS/二叉树+数论)
题目传送门bfs的搜索树,也是一种完全二叉树。又知道:a∗ba*ba∗b%m=(am=(am=(a%m∗bm*bm∗b%m)m)m)%m;m;m;(a(a(a%m+bm+bm+b%m)m)m)%m=(a+b)m=(a+b)m=(a+b)%m;m;m;本题的数字又是由一位一位的0/10/10/1串组成的。因此:(((0/1)∗1+(0/1))∗10+(0/1))∗100(((0/1)*1+(0/1))*10+(0/1))*100(((0/1)∗1+(0/1))∗10+(0/1))∗100%n=原创 2021-04-06 20:18:11 · 111 阅读 · 0 评论 -
POJ1321 棋盘问题(dfs)
题目传送门这道题需要思考一下(这道题和八皇后的思考方式不是非常一样):首先区域内所有的 “#“ 的点我们可以放置棋子,但是有一个很重要的问题就棋子不是每一行都一定会有。因此就需要在这个栈循环结束以后,再来递归一次,代表的是这一行没有我们想要找的位置不让它return回去,而让它继续往下去找位置,这就是这个dfs两层递归的真正含义所在,其他的就是正常的dfs,下面是代码。#include<iostream>#include<cstring>using namespace std原创 2021-04-04 21:25:34 · 93 阅读 · 0 评论 -
汉诺塔问题(递归)
本以为我学过了dfs,那么对递归有一定的理解,但是最近有聚聚问我汉诺塔问题,发现还是很懵,写这篇博客来深度理解一下。汉诺塔问题汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。刚开始看这个问题的时候确实有点抓瞎,发现没有思路。那么我们可以模拟一下汉诺塔是怎么样运行的原创 2021-03-31 18:23:34 · 1481 阅读 · 0 评论