![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
DFS
DFS
VL——MOESR
ga
展开
-
【CLYZ集训】随机游走【状压】【记忆化搜索】
题解原创 2023-02-06 15:59:47 · 150 阅读 · 0 评论 -
【2022年11月16日提高A组】树点编号【DFS】
DFS原创 2022-11-16 18:20:05 · 74 阅读 · 0 评论 -
【冲刺 NOIP2022 模拟赛 B 组 Day9】函数变换【DFS】
dfs原创 2022-11-13 18:54:54 · 99 阅读 · 0 评论 -
【图论训练】深海探险【DFS】
dfs原创 2022-11-07 18:44:17 · 65 阅读 · 0 评论 -
【2022年10月26日A组】公司搬迁【DFS】
dfs原创 2022-10-26 18:37:56 · 97 阅读 · 0 评论 -
【2022年10月26日A组】年会小游戏【DFS】
dfs原创 2022-10-26 18:33:47 · 532 阅读 · 0 评论 -
【2022年10月25日A组】翻转有向图【DFS】
dfs原创 2022-10-25 18:20:29 · 142 阅读 · 0 评论 -
【2022年10月15日A组】王国的传送门【DFS】
dfs原创 2022-10-16 21:50:03 · 77 阅读 · 0 评论 -
【数据结构训练】选择子序列
DFS + RMQ原创 2022-09-26 21:02:27 · 85 阅读 · 0 评论 -
【集训DAY N】灯【折半搜索】
折半搜索原创 2022-08-16 18:56:09 · 46 阅读 · 0 评论 -
【集训DAY6】堆石子【DFS】
dfs原创 2022-08-10 16:21:39 · 48 阅读 · 0 评论 -
【集训DAY6】出租车【DFS】
dfs原创 2022-08-10 16:19:52 · 66 阅读 · 0 评论 -
【集训DAY16】KC ‘ s Stars【dfs】
搜索+dfs原创 2022-07-26 19:09:55 · 33 阅读 · 0 评论 -
【集训DAY12】Minn ratio 【dfs】【最小生成树】
dfs+最小生成树原创 2022-07-22 15:25:08 · 116 阅读 · 0 评论 -
【集训DAY11】Paint【暴力】【dfs】
dfs原创 2022-07-21 15:52:29 · 67 阅读 · 0 评论 -
【集训DAY2】Torch bearer【暴力】【DFS】
暴力DFS原创 2022-07-12 20:56:51 · 80 阅读 · 0 评论 -
【YBTOJ进阶训练指导】购买商品【背包】【DFS】
dfs+背包原创 2022-03-09 20:06:31 · 226 阅读 · 0 评论 -
【YBTOJ进阶训练指导】二叉查找树【RMQ】【dfs】【ST表】
dfs+ST表+RMQ原创 2022-03-03 20:31:20 · 158 阅读 · 0 评论 -
【YBTOJ进阶训练指导】最多约数【深搜】
思路:直接枚举每个约数的个数,然后乘起来比较codecodecode#include<iostream>#include<cstdio>#include<algorithm>using namespace std;unsigned long long n, ans=1e18, sum;unsigned long long prime[13]={2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41};vo..原创 2022-02-10 14:06:14 · 211 阅读 · 0 评论 -
【Luogu_P7411】Comfortable Cows S
思路:直接暴力加入判断codecodecode#include<iostream>#include<cstdio>using namespace std;int n;int ans;int a[3000][3000];int dx[5]={0, 1, 0, -1, 0};int dy[5]={0, 0, -1, 0, 1};void dfs(int x, int y){ if(!a[x][y]) return; int flag=0, tx..原创 2021-08-20 15:01:20 · 104 阅读 · 0 评论 -
2021.08.13【NOIP提高A、B组】模拟 Word
思路:直接暴力枚举子串,然后dfs更改codecodecode#include<iostream>#include<cstdio>using namespace std;int l, d, n, a[100];char s[35][100];char b[100];bool flag;void dfs(int x, int y){ flag=0; for(int i=1; i<=n; i++) { int minn=l+1; fo..原创 2021-08-13 16:52:13 · 43 阅读 · 0 评论 -
【Luogu_P1793】跑步
思路:我们可以爆力枚举,假设这个点不是必经之路,那么直接让它不能走就行了,然后dfs判断一遍是否路通。codecodecode#include<iostream>#include<cstdio>#include<cstring>using namespace std;int n, m, q;bool flag;int f[2010];bool v[2010];int head[8010], tot;struct node{ int t..原创 2021-02-10 20:58:57 · 86 阅读 · 0 评论 -
【Luogu_P1123】取数游戏
思路:由于这道题数据范围<=6,所以直接可以用搜索一个接一个的搜,取到一个数判断行不行,然后在将它周围的标记,最后回溯。codecodecode#include<iostream>#include<cstdio>using namespace std;int q;int n, m, ans;int a[100][100];int v[100][100];int dx[8]={0, 1, 0, -1, 1, 1, -1, -1};int dy[8]..原创 2021-02-09 21:07:08 · 115 阅读 · 0 评论 -
【NOIP2014】【模拟赛】【普及组】【T3】小 X 的液体混合
题目描述虽然小 X 不喜欢化学原理,但他特别喜欢把一大堆液体倒在一起。现在小 X 有 n 种液体,其中 m 对会发生反应。现在他想把这 n 种液体按某种顺序倒入一个容器内,让他获得最刺激的体验,也就是使危险系数尽量大。我们可以这样计算危险系数,一开始容器内没有任何液体,危险系数为 1。每次液体倒入容器时,若容器内已有一种或多种液体会与这种液体发生反应,则危险系数会乘 2,否则危险系数不变。最大危险系数小 X 不会算,希望你帮帮他。Input第一行包含两个整数 n, m。接下来 m 行,每行原创 2020-10-17 07:51:41 · 134 阅读 · 0 评论 -
【2020年9月12日普及组】树
题目描述小L非常喜欢树。最近,他发现了一棵有趣的树。这棵树有n个节点(1到n编号),节点i有一个初始的权值ai。这棵树的根是节点1。这棵树有一个特殊的性质:当你给节点i的权值加 val 的时候,节点i的所有儿子的权值都会加 -val。注意当你给节点i的儿子的权值加 -val 时,节点i的这个儿子的所有儿子的权值都会加 -(-val),以此类推。样例说明可以很好地帮助你理解这个性质。有2种操作:操作(a).“1 x val”表示给节点x的权值加val。操作(b).“2 x”输出节点x当前的权值。为原创 2020-09-12 16:14:31 · 212 阅读 · 0 评论 -
【POJ3321】Apple Tree
题目大意:思路:算法分析:对于棵树进行dfsdfsdfs遍历,并记录每一个点的dfsdfsdfs序号st[i]st[i]st[i],在一个节点的所有儿子都被遍历过后,记录当前en[i]en[i]en[i]为当前最大dfsdfsdfs序号的节点的dfsdfsdfs序号。于是,我们把问题转换为将某一点的权值改变,询问区间[st[x],en[x]][st[x], en[x]][st[x],en[x]]的和树状数组可以轻松实现这些操作。代码:#include<iostream>#i原创 2020-08-18 09:13:42 · 99 阅读 · 0 评论 -
【SSL1229】技能树
Description玩过Diablo的人对技能树一定是很熟悉的。一颗技能树的每个结点都是一项技能,要学会这项技能则需要耗费一定的技能点数。只有学会了某一项技能以后,才能继续学习它的后继技能。每项技能又有着不同的级别,级别越高效果越好,而技能的升级也是需要 耗费技能点数的。 有个玩家积攒了一定的技能点数,他想尽可能地利用这些技能点数来达到最好的效果。因此他给所有的级别都打上了分,他认为效果越好的分数也越高。现在他要你帮忙寻找一个分配技能点数的方案,使得分数总和最高。Input第一行是一个整数n(1原创 2020-08-16 20:26:35 · 120 阅读 · 0 评论 -
【SSL1371】鱼肉炸弹
Description舒克和贝塔终于下定决心要去营救被关押在众猫聚居的A城中的大米同志。 A城的构造是很奇怪的。A城中的所有N栋建筑沿着一条直线排列,而且没有两栋楼的高度是相同的。而大米同志就被关押在其中的某栋建筑中。每一栋建筑的顶上都是有一些猫们在看守的。如果按照从一端到另一端的顺序将所有的建筑编号为1到N,那么第i栋建筑的高度为Hi,顶上的猫的数量为Ci. 每一只猫不但可以看守住其所在建筑的楼顶,还可以看守住一些比它所在建筑要低的楼的楼顶。前提是没有被其他楼所挡住。A城中的建筑都是很高的,高到原创 2020-08-15 09:47:28 · 101 阅读 · 1 评论 -
【Luogu_P2515】软件安装
链接题目大意:就是让你做有依赖的背包问题思路:1.首先我们思考出现环的情况:如果出现了环,也就是说它有两种可能:1是这个环里的数全不选,2是全选。于是我们就可以把它压缩成一个点,具体方式如下:点i所在的环之前没有判断过,是新环。我们将这个环放到数组最后,新加一个点,储存这个环,然后让这两个点的空间标记为负值tmpw,且tmpw+tmpn(新点的下标)等于原来的坐标,我们就可以通过这个坐标找到这个环所在的点。2、点i所在的环之前已经判断过了,是旧环,且i是环的一部分(i还没合并)。那原创 2020-08-14 22:21:20 · 86 阅读 · 0 评论 -
【SSL1743】Debug
Description经过了一整夜的激战,rc的部队终于攻下了虫族的首都Bugzilla。现在,rc决定亲自带领一队突击队员在虫族庞大的地道中寻找他的宿命之敌—Bug。 Bugzilla由N个基地组成。这N个基地被N-1段双向地道连接在一起,每段地道都连接两个基地,并且保证任意两个基地之间都可以通过地道互相到达。Bug就藏在其中的某段地道中。 开始时rc可以乘坐运输机降落在任何一个基地。每次到达一个基地时,rc都可以选择呼叫运输机将他和他的部队运输到任意另一个基地,或者进入与这个基地相邻的一段地道原创 2020-08-14 16:26:03 · 88 阅读 · 0 评论 -
【SSL1230】战略游戏
DescriptionBob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了望到所有的路。注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。 请你编一程序,给定一树,帮Bob计算出他需要放置最少的士兵。Input输入文件中数据表示一棵树,描述如下: 第一行 N,表示树中结点的数目。 第二行至第N+1行,每行描述每个结点信息,依次为:该结点原创 2020-08-14 07:42:35 · 145 阅读 · 0 评论 -
【SSL1565】将功补过
Description作为间谍专家的Elvis Han受窃取X星球军事中心的秘密情报,他已经成功进入军事中心。但是很不幸的是,在他还没有找到任务需要情报的时候就被发现,这时他清楚他不可能完成任务了,不过还有机会将功补过,也就是得到一些不如任务情报有价值的其他情报,如果得到的情报的总价值大于等于任务情报价值,他也不会受到惩罚。很幸运的是他已经得到的军事中心的地图,情报都是隐藏在各个道路上的,但是他只有时间遍历一定数量的路(时间宝贵呀!还要逃跑。。)现在你做为他的助手,给你地图和每个道路情报价值,希望你分析出原创 2020-08-14 07:32:04 · 101 阅读 · 0 评论 -
【SSL_1606】选课——【Luogu_P2014】选课
链接Description大学里实行学分。每门课程都有一定的学分,学生只要选修了这门课并考核通过就能获得相应的学分。学生最后的学分是他选修的各门课的学分的总和。每个学生都要选择规定数量的课程。其中有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如,《数据结构》必须在选修了《高级语言程序设计》之后才能选修。我们称《高级语言程序设计》是《数据结构》的先修课。每门课的直接先修课最多只有一门。两门课也可能存在相同的先修课。为便于表述每门课都有一个课号,课号依次为1原创 2020-08-13 21:09:20 · 174 阅读 · 0 评论 -
【SSL1605】&&【Luogu_P2015】二叉苹果树
链接Description有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点)这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1。我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树2 5\ /3 4\ /1现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果。给定需要保留的树枝数量,求出最多能留住多少苹果。Input第1行2个数,N和Q(1<=Q<= N,1Output一个数,最多能留住的原创 2020-08-13 18:49:43 · 96 阅读 · 0 评论 -
【SSL1127】方程的解数
DescriptionInput 第1行包含一个整数n。第2行包含一个整数M。第3行到第n+2行,每行包含两个整数,分别表示ki和pi。两个整数之间用一个空格隔开。第3行的数据对应i=1,第n+2行的数据对应i=n。Output仅一行,包含一个整数,表示方程的整数解的个数。Sample Input31501 2-1 21 2Sample Output178它的xxx需要从1−m1-m1−m枚举,所以我们可以想到dfsdfsdfs思路:由于O(mn)O(m^n原创 2020-07-19 21:30:39 · 102 阅读 · 0 评论 -
1438骑马修栅栏
Description农民John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。每一个栅栏连接两个顶点,顶点用1到500标号...原创 2019-12-20 18:38:12 · 82 阅读 · 0 评论 -
控制公司1116
Description有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分。例如,福特公司拥有马自达公司12%的股票。据说,如果至少满足了以下条件之一,公司A就可以控制公司B了:• 公司A = 公司B。• 公司A拥有大于50%的公司B的股票。• 公司A控制K(K >= 1)个公司,记为C1, …, CK,每个公司Ci拥有xi%的公司B的股票,并且x1+ … + ...原创 2019-12-18 17:18:12 · 101 阅读 · 0 评论 -
1776游乐场
Description据新闻报道,Orz教主在太平洋中央建了一个大游乐园,其中有许多小岛,每个小岛上有且仅有一个游乐设施,有的小岛与小岛之间有海底隧道连接,而有的没有,一个游乐设施对一个人只开放一次,花的钱与得到的快乐值成正比。一开始,你可以选择被空投到任意一个小岛。当你想离开游乐园时,你可以打电话叫飞机来接,但不能再次被空投。fhn非常有钱,他想在游乐园里得到最大的快乐值。而czm则比较...原创 2019-12-14 15:36:05 · 195 阅读 · 0 评论 -
1493货员的难题
Description某乡有 n 个村庄( 1 < n <40 ),有一个售货员,他要到各个村庄去售货,各村庄之间的路程 s(0<s<1000) 是已知的,且 A 村与 B 村与 B 村与 A 村的路大多不同,为了提高效率,他从商店出发到每个村庄一次,然后返回商店所在的村,假设商店所在的村庄为 1 ,他不知道选择什么样的路才能使所走的路程最短,请你帮助他选择一条路径。Input村庄数 ...原创 2019-12-14 14:31:04 · 238 阅读 · 0 评论 -
求无向图的连通分量SSL 1759
Description求一个图的连通分量Inputn 顶点数(<=100)边Output连通分量Sample Input86 31 22 55 44 18 70 0Sample Output4NO.1 dfs+邻接矩阵#include<iostream>using namespace std;int m,n,k,x,y,m...原创 2019-12-14 14:24:36 · 239 阅读 · 0 评论