DFS
文章平均质量分 68
Joey丶sunk
古今成大事者 不惟有超世之才 亦必有坚忍不拔之志
展开
-
CodeForces - 839C Journey 期望 dfs
先大喊:我是傻逼!首先这个题很简单 n 个结点, n-1 条边, 不会出现环 我写 MLE 了,因为我很自信的在 dfs 里面判 v 的父结点的时候判成了第 1 个结点,所以,,GG要是说求期望的话 推一下就能发现答案就是 到每个结点的概率之和#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>原创 2017-08-18 20:47:21 · 421 阅读 · 0 评论 -
L2-023 图着色问题 (25 分) 简单dfs
简单dfs + 注意细节#include<bits/stdc++.h>//#include<iostream>//#include<algorithm>//#include<cstdio>//#include<string>using namespace std;typedef long long ll;co...原创 2019-03-22 11:06:20 · 356 阅读 · 0 评论 -
Gym - 101615D Rainbow Roads 分析+递归标记
题意:给一棵n个结点的树,每条边都有一种颜色,要求找出所有的good点,g点定义:从这个点出发,到其他任意结点的简单路径(最短路径),相邻的两条边颜色都不同思路:对于某个结点O,跟他相连的结点连的边是同种颜色的话,那从这个O点往这个有重复颜色的结点遍历的时候,能遍历到的点都是不合法的,因为他们以这个O点为中心有两条相邻同颜色的边,我用ER函数遍历不合法的子树,如果在子树中又发现了相邻同色的...原创 2019-03-20 13:45:39 · 391 阅读 · 0 评论 -
Educational Codeforces Round 54 (Rated for Div. 2) A B C D E题解
这些题目挺有意思,起码我都错过,可能这两天精力有点不足,脑子不太够用??? A题链接:http://codeforces.com/contest/1076/problem/A题意:给定一个字符串,最多可以删掉一个字符,使得字典序最小;思路:首先跟原串比较的话,某一个字符大于后面相邻的字符的话,删去这个字符,显然这样字典序就会变小了,我们也知道,如果有多个这样的字符对的话,删掉第一个...原创 2018-11-13 12:37:12 · 234 阅读 · 2 评论 -
Educational Codeforces Round 54 E - Vasya and a Tree 树上:离线+dfs+树状数组
题意:给定一棵包含n个结点的树,开始每个结点权值为0,现在有q个操作,每个操作包含 v, d, x,表示第v号结点,以及再往下(对于树:他的孩子方向)遍历d层,访问到的结点权值都加上x;输出所有结点的权值思路:一下想到的就是区间更新,单点查询,想写个树剖来着,感觉有点麻烦,然后就想到了树状数组很快的那个区间更新,前缀和当单点查询的操作,然后再想想就想到了把所有操作离线出来,然后...原创 2018-11-13 12:14:41 · 200 阅读 · 0 评论 -
Codeforces Round #513 E. Sergey and Subway 树形dp (树+dfs) 树上任意两点距离和
CF: dfs and similar dp trees *2000 题意:给定一个n个点的树,(n最大2e5),如果原图(树)中有边 u-v, v-w ,那么现在你可以连一条边u-w;问任意两点间最短距离的和;思路:开始想的对原树dfs,用dp[i][2] 分别表示到i结点距离为偶数和奇数的最小花费,但是很麻烦。。。其实:按照题目给定的要求,我们...原创 2018-11-09 19:40:47 · 340 阅读 · 0 评论 -
Codeforces Round #375 (Div. 2) D - Lakes in Berland dfs+贪心
本场详细题解见:https://blog.csdn.net/xiang_6/article/details/83549528题意&思路见上述链接 #include<bits/stdc++.h>using namespace std;#define out fflush(stdout)#define fast ios::sync_with_stdio...原创 2018-10-30 22:19:06 · 113 阅读 · 0 评论 -
HDU - 6430 Problem E. TeaTree dfs+归并+假算法 2018多校-10
题意:给定 n 个点的树,每个点有权值,任意两个不同的点可以给他们的 LCA 贡献一个值 就是他们value的 gcd,输出每个点能得到的最大值,如果没有这样的值,输出-1; 思路:首先这是份假代码?? 4000ms 3000ms AC, 刚刚场上口胡了一下没敢写我们考虑某个结点,如果这个点能作为某两个点的LCA的话,那一定是他的两棵不同子树上的点,或者是他和他的某个孩子结点...原创 2018-08-22 22:34:27 · 137 阅读 · 0 评论 -
HDU - 5438 Ponds 拓扑找环+dfs
题意:略 思路:用拓扑找环的方法,O(n) 把度数为1(跟其相连的点小于2)的点去掉,并标记,那样剩下一些环,然后dfs找每个环的权值和 和 环中结点的个数;将点个数为偶数的环去掉其实这样做的话可以直接计算 有奇数个点的环的权值; #include <iostream>#include <algorithm>#include <...原创 2018-08-17 10:23:41 · 205 阅读 · 0 评论 -
CodeForces - 977E Cyclic Components dfs
题意:找到所有的单链环的个数思路:dfs 遍历整个图,每次把一个连通块标记出来,并判读是否每个点的度数都为2(是否为单链环);#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<iostream>#include<vec...原创 2018-05-20 20:37:57 · 357 阅读 · 0 评论 -
CodeForces - 767C Garland dfs(假剪枝)
题意:给定一棵树,每个结点有权值,切断两条边,使剩下的3部分 每个结点的权值和相同思路:首先记录所有多有结点的和sum,看是否能被3除尽,然后进行 DFS 每个结点,回溯的过程如果遇到哪个结点的值变成 sum/3 ,记录这个结点,更新这个结点的值为0 并返回;最后还要在判断一遍(感觉不需要了)#include#include#include#include#原创 2017-11-09 21:51:57 · 301 阅读 · 0 评论 -
CodeForces - 616C The Labyrinth dfs+暴力
预处理每一个 ‘ . ’ 的块(通过上下左右相连的),用 mp 二维数组存编号,,通过这个编号 存这个块含有的 ‘ . ’ 个数最后输出#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typ原创 2017-11-01 11:33:12 · 341 阅读 · 0 评论 -
UVALive - 7456 Least Crucial Node ( dfs + set )
直接暴力求解,枚举每个点,dfs 求解对后面影响的点的个数#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long ll原创 2017-10-28 18:19:55 · 193 阅读 · 0 评论 -
2017 ACM/ICPC 乌鲁木齐赛区 H题,dfs 记忆化 O(n)
已经给定了顺序,相当于有向边d [ i ] 表示第 i 结点能到达的最远距离#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define PI acos(-原创 2017-09-13 00:22:18 · 430 阅读 · 0 评论 -
CodeForces - 842C Ilya And The Tree 树上DFS
树上的 DFS ,已知根结点,从根结点往下递归,dp 数组保存不对结点清零时的 gcd ,然后用 ok 数组保存每个结点的可能的情况,最后进行比较,得到 res 答案数组#include #include #include #include #include #include #include #include #include #include #includ原创 2017-09-05 12:33:28 · 251 阅读 · 0 评论 -
Personal programming language Gym - 100741B dfs
d f s ,要存一下在输出#include #include #include #include #include #include #include #include #include #include #include #include #include #include // cout << " === " << endl;using namespa原创 2017-08-22 21:58:31 · 262 阅读 · 0 评论 -
UVA - 806 Spatial Structures - DFS
紫书数据结构那章的题,今天个人赛开了出来,纸上模拟实现了一遍,因为格式问题 PE 了好几次,中间还有两次 忘记删除 文件测试那两行写完了 看一下感觉有点丑,但好歹思路还算清晰,贴一哈#include#include#include#include#includeusing namespace std;const int maxn = 100 + 7;int n, a[ma原创 2017-07-28 16:57:56 · 231 阅读 · 0 评论 -
ZOJ - 3988 Prime Set 匈牙利算法思想(最大匹配数)
题意:给定n个数,让你选k对数,每对数加和是素数,使得这些数对的下标组成的集合尽量大思路:首先要找下标不重复的一些数对:例如 (1,2) (3,5) (4,7) 这三个就是不重复下标的素数对可以运用匈牙利算法的思想,把不重复下标的最大匹配数找出来(如果需要,也可以把这些数对找出来,即f[]数组表示某个数的前驱结点);如果这些数对还不够k对的话,我们再找其他可以组成素数对的,但是还没有选的数...原创 2019-03-28 22:56:50 · 319 阅读 · 0 评论