随笔分类 -  深度优先搜索dfs

摘要:AcWing 198. 反素数 一、题目描述 对于任何正整数 x,其约数的个数记作 g(x),例如 g(1)=1g(6)=4。 如果某个正整数 x 满足:对于任意的小于 x 的正整数 i,都有 g(x)>g(i),则称 \(x 阅读全文
posted @ 2022-05-20 14:17 糖豆爸爸 阅读(124) 评论(0) 推荐(1) 编辑
摘要:## [AcWing 1118. 分成互质组](https://www.acwing.com/problem/content/1120/) ### 一、题目描述 给定 n 个正整数,将它们分组,使得每组中 **任意两个数互质**。 **至少** 要分成多少个组? **输入格式** 第一行 阅读全文
posted @ 2022-03-07 16:50 糖豆爸爸 阅读(216) 评论(0) 推荐(0) 编辑
摘要:## [AcWing 1117. 单词接龙](https://www.acwing.com/problem/content/description/1119/) ### 一、题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏。 现在我们已知一组单词,且给定一个开头的字母,要求出以这个 阅读全文
posted @ 2022-03-07 15:31 糖豆爸爸 阅读(194) 评论(0) 推荐(0) 编辑
摘要:## [AcWing 1116 . 马走日 ](https://www.acwing.com/problem/content/1118/) ### 一、题目描述 马在中国象棋以日字形规则移动。 请编写一段程序,给定 nm 大小的棋盘,以及马的初始位置 (xy),要求不能重复经过棋 阅读全文
posted @ 2022-03-07 14:22 糖豆爸爸 阅读(197) 评论(0) 推荐(0) 编辑
摘要:AcWing 1013. 机器分配 一、题目描述 总公司拥有 M 台 相同 的高效设备,准备分给下属的 N 个分公司。 各分公司若获得这些设备,可以为国家提供一定的盈利。盈利与分配的设备数量有关。 问:如何分配这M台设备才能使国家得到的盈利最大? 求出最大盈利 阅读全文
posted @ 2021-12-21 21:27 糖豆爸爸 阅读(425) 评论(0) 推荐(0) 编辑
摘要:##[AcWing 187. 导弹防御系统 ](https://www.acwing.com/problem/content/189/) ### 一、题目描述 为了对抗附近恶意国家的威胁,R 国更新了他们的导弹防御系统。 一套防御系统的导弹拦截高度 **要么** 一直 **严格单调** 阅读全文
posted @ 2021-12-07 10:34 糖豆爸爸 阅读(391) 评论(2) 推荐(1) 编辑
摘要:题目传送门 一、深度优先搜索 #include <bits/stdc++.h> using namespace std; int n; //毫不意外,只通过了5个测试点,TLE了15个点~ int dfs(int x) { //1就没法继续分了,同时,由于题目说:原数列不做任何修改就直接统计为一种合 阅读全文
posted @ 2021-11-24 09:13 糖豆爸爸 阅读(249) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、递推+高精度 #include <bits/stdc++.h> using namespace std; const int N = 5010; /** * 功能:高精度加法模板 * @param A * @param B * @return */ vector<int> add(v 阅读全文
posted @ 2021-11-24 08:41 糖豆爸爸 阅读(130) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、无脑大循环 #include<bits/stdc++.h> using namespace std; vector<string> v1; int main() { int a, b, c, d, e, f, g, h, i, j, k, l = 0; cin >> k; for ( 阅读全文
posted @ 2021-11-23 15:58 糖豆爸爸 阅读(128) 评论(0) 推荐(0) 编辑
摘要:##AcWing 901. 滑雪 一、题目描述 给定一个 RC 列的矩阵,表示一个矩形网格滑雪场。 矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。 一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。 当 阅读全文
posted @ 2021-10-27 08:44 糖豆爸爸 阅读(285) 评论(0) 推荐(0) 编辑
摘要:##AcWing 844. 走迷宫 一、题目描述 给定一个 n×m 的二维整数数组,用来表示一个迷宫,数组中只包含 01,其中 0 表示可以走的路,1 表示不可通过的墙壁。 最初,有一个人位于左上角 (1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移 阅读全文
posted @ 2021-09-18 09:52 糖豆爸爸 阅读(828) 评论(0) 推荐(0) 编辑
摘要:##AcWing 843. n-皇后问题 一、题目描述 n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n,请你输出所有的满足条件的棋子摆法。 输入格式 共一行,包含 阅读全文
posted @ 2021-09-17 16:31 糖豆爸爸 阅读(666) 评论(0) 推荐(2) 编辑
摘要:##AcWing 842. 排列数字 一、题目描述 给定一个整数 n,将数字 1n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数 n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 1n7 阅读全文
posted @ 2021-09-17 16:27 糖豆爸爸 阅读(827) 评论(0) 推荐(1) 编辑
摘要:题目传送门 一、题目解析 我们先来总结一下题意: (1) 26个字母(a-z),最多6个 (2) 第1位可以是a-z中任何一个。 (3) 第2位只能是在第1位字符的后面字符。第3位只能是在第2位后面的字符,后面也是一样的。 (4) 这样编号后,输入一个字符串,问:它的编号是多少?如果没找到,就输出0 阅读全文
posted @ 2021-08-26 07:59 糖豆爸爸 阅读(155) 评论(0) 推荐(1) 编辑
摘要:题目传送门 一、题意分析 题意:给你一个n×m的迷宫g(xy范围是0n10m1),#\(不能走,\).可以走,S作为起点,现在将迷宫扩展成无穷大,扩展方法是:任意一个(x,y)位置的字符$c = g(x 阅读全文
posted @ 2021-08-17 08:10 糖豆爸爸 阅读(177) 评论(0) 推荐(2) 编辑
摘要:题目传送门 一、题意分析 二、bfs解法 1、链式前向星 #include <bits/stdc++.h> using namespace std; const int N = 10010; //10000条边 queue<int> q; bool st[N]; //走过了没 int n; //n个 阅读全文
posted @ 2021-08-13 14:34 糖豆爸爸 阅读(166) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、大力出奇迹,爆搜过样例 开始想的是先把所有字符串按照字典序升序(由小到大)排一下,然后从前向后以每一个单词为起点爆搜一下, 第一个得到的答案就是字典序最小的答案,这个做法是对的,但是会被卡掉,因为复杂度比较高。 关键词:字符串数组+排序+爆搜 结果:80分,2个点TLE掉 完整代 阅读全文
posted @ 2021-08-13 08:20 糖豆爸爸 阅读(258) 评论(0) 推荐(2) 编辑
摘要:## 图的连通性判断 #### 总结 - 常用的判连通办法有四种,分别是并查集、dfsbfsfloyd - 最常用的是dfs、并查集 - 前三种适合稀疏图,floyd适合稠密图 ### 一、并查集 ```cpp {.line-numbers} #include using n 阅读全文
posted @ 2021-08-12 09:12 糖豆爸爸 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、解题思路 1、用拓扑排序干掉非环结点 2、用dfs或者bfs找出最小环的长度 二、拓扑排序+dfs 解法 1、vector邻接表实现 #include <bits/stdc++.h> using namespace std; /** 思路:其实就是求最小环。每个点的出度都是1 阅读全文
posted @ 2021-08-11 09:07 糖豆爸爸 阅读(255) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、拓扑排序完整代码(bfs) #include <bits/stdc++.h> using namespace std; const int N = 10010; int n; //必须完成的杂务的数目 int x; //工作序号 int y; //一些必须完成的准备工作 int an 阅读全文
posted @ 2021-08-10 09:07 糖豆爸爸 阅读(185) 评论(0) 推荐(0) 编辑

Live2D
点击右上角即可分享
微信分享提示