
DFS
陆小萌
这个作者很懒,什么都没留下…
展开
-
HDU6797
Solutiondfs枚举删除最短路上的某条边后继续删边,记录最大值Code#include <bits/stdc++.h>#define fi first#define se second#define mp make_pairusing namespace std;typedef long long ll;typedef pair<int,int> pii;const double eps = 1e-8;const int NINF = 0xc0c0c0c原创 2020-09-12 00:30:34 · 175 阅读 · 0 评论 -
CF180 D. Name
CF180 D. NameQuestion给定两个字符串sss和ttt,若重新排列sss之后能使得s>ts>ts>t,则输出字典序尽可能小且满足条件的sss,否则输出−1-1−1。Solution贪心+分类讨论+DFS这里思路应该是十分清晰的,主要我在想如何实现会比较方便,看了一下当时比赛第一个交的人,交的是一份DFS,一个一个字符往下去遍历,挺适合这里的,而且也好写。...原创 2020-05-04 11:48:25 · 296 阅读 · 0 评论 -
CF1338 B. Edge Weight Assignment
CF1338 B. Edge Weight Assignment题意一棵n个结点的树,求最小和最大需要多少个不同的路径来构造树的路径权值,使得任意两片叶子的路径异或和为0。思路首先这是一棵无根树,以其任意一个叶子结点为根。(避免讨论)首先考虑最小,最小要么为1要么为3。为1的情况是任意结点到根节点的距离为偶数。为3的情况是只要有一个结点到根结点的距离为奇数。这里仅判断奇偶有两种写法...原创 2020-04-14 16:57:59 · 468 阅读 · 1 评论 -
NC14248
NC14248题意给定一棵n个点的树,问其中有多少条长度为偶数的路径。路径的长度为经过的边的条数。x到y与y到x被视为同一条路径。路径的起点与终点不能相同思路DFS 树 数据结构这道题和CF1339D十分相像,有兴趣的可以做一下。把题意转化为给你一颗n个结点的树,树上所有的边权值为1,求树上任意两点距离为偶数的点的个数。问题就转化为了如何获取树上任意两点的距离是否为偶数呢?图论相关...原创 2020-04-14 15:26:21 · 223 阅读 · 0 评论 -
NC13249
NC13249题意给你一棵树,每个节点iii上有一个值k[i]k[i]k[i],一开始树上所有节点均为白色,要求你每次选择一个白色节点染色,从该节点往根的链上小于k[i]k[i]k[i]的均被染色,求最小染色次数为多少?思路DFS 贪心首先叶子结点是一定要染色的,我们考虑如何返回的时候构造最优方案,我们维护两个数组。回溯路径所能染色到的最远距离k[x]=max(k[x],k[s]−1)...原创 2020-04-09 22:08:42 · 179 阅读 · 0 评论 -
学军信友队趣味网络邀请赛 B.齐心抗疫
学军信友队趣味网络邀请赛 B.齐心抗疫题意给你一棵每条边均为1的树,求任意两点距离乘两端点中大的那个数的乘积最大为多少?思路题意转化为公式就是求dis[x][y]∗max(a[x],a[y])dis[x][y]*max(a[x],a[y])dis[x][y]∗max(a[x],a[y])那么难点就在于求任意两点间的距离了。这时候要抓住条件:这是一棵树!利用树的直径的性质DFS三次即...原创 2020-04-06 01:21:01 · 520 阅读 · 0 评论 -
NC13886
NC13886题意给你一颗n(偶数)结点的树,将其分为n/2对,求所有对数相连的路径之和最小为多少?思路DFS 数据结构既然是图论那就先画图吧左图由于以2号结点为根节点的子树结点数(包括其自身)为3(奇数),那么显然这棵树上一定有个节点要从树外找一个节点相连,那么必须要经过2号结点与其父节点的这条路(2->1)。右图告诉我们如果能偶数配对的子树则不需要相连。叶子节点为子树的结...原创 2020-04-02 20:01:46 · 215 阅读 · 0 评论 -
Panasonic Programming Contest 2020
Panasonic Programming Contest 2020 D - String Equivalence题意本来是求字母的序列转化为求数字的序列,最后可以再转化为字母。转化为求一个序列,如果这个位置是 p[i],那么 1~i-1 内一定出现过所有 1~p[i]-1 的数字,且第i个位置能取的最大数字为之前所用到的最大数字+1。思路序列要想到DFS字母序列可以转化为数字序...原创 2020-03-15 16:24:10 · 203 阅读 · 0 评论 -
2020牛客寒假算法基础集训营6 B-图
2020牛客寒假算法基础集训营6 B-图思路:记忆化搜索dfs分析可知图为出度为1的基环内向树森林,从一个点出发,沿着出边一路走下去,一定会走到一个环。所以我们选择dfs,当遍历到一个已在dfs栈中的节点时,就说明找到了环,可以结束统计。但这样是会超时的,于是我们选择带“记忆化”的dfs,从一个点开始沿着出边走下去,每当走到一个在之前某次dfs中经过的点时,就可以利用上一次的答案完成求解...原创 2020-03-03 18:20:55 · 1626 阅读 · 0 评论 -
POJ3009
题意:冰壶,直线走,出格子算输,打到障碍物才停下来,到终点也会停下来,<=10步到终点则算胜利,记录最小步数,失败输出-1.思路:dfs于之前一步一步走的dfs不同的地方是,需要判断是否能走该方向,然后套一个while循环来一直走下去直到碰到1停下来或者碰到3记录答案。反思:我一开始做成了bfs,想嘛步数最小。#include <iostream>#include...原创 2020-02-27 22:14:23 · 173 阅读 · 0 评论