随笔分类 - 图论—DFS
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1405 题意: 思路: 先求出所有点到根节点的距离,需要维护每棵子树的大小,然后就可以再来一次dfs依次求出别的点的距离。好像需要手动扩栈。
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1064 题意: 思路: 考虑以下几种情况: ①无环并且是树: 无环的话就是树结构了,树结构的话想一下就知道它的k最大值就是它的最长链,最小值就是3(如果链长>=3的话),如果有多棵树,只需要把它们的最长
阅读全文
摘要:http://codeforces.com/contest/793/problem/B 题意:一个地图,有起点和终点还有障碍点,求从起点出发到达终点,经过的路径上转弯次数是否能不超过2。 思路: 直接dfs,但是要优化一下,用vis[x][y][dir]来记录在(x,y)并且方向为dir时的最少转弯
阅读全文
摘要:https://vjudge.net/problem/Gym-101147J 题意: 有n个城市,每个城市有一个权值,表示在这个城市的加油站可以加多少油。 现在要计算每个城市i,有多少个城市j可以到达它: ① j 是 i 的子树。 ② 在城市 j 加满Xj的油后不再加油能到达 i 城市。 思路:我们
阅读全文
摘要:https://vjudge.net/problem/UVALive-7272 题意: 公司要提拔人,现在有n个人,现在有m条有向边,A->B表示A的表现比B好,也就是如果B晋升了,那么A肯定会晋升。 现在给出【L,R】,计算出晋升L个人时肯定会晋升的人数,晋升R个人时肯定会晋升的人数,还有肯定不可
阅读全文
摘要:https://vjudge.net/problem/UVA-11396 题意: 给出n个结点的简单无向图,每个点的度数均为3。你的任务是判断能否把它分解成若干爪。每条边必须属于一个爪,但同一个点可以出现在多个爪里。 思路: 一个鸡爪当中,有一个中心点,即度为3的点,还有3个边缘点。 每条边都连接了
阅读全文
摘要:https://vjudge.net/problem/UVA-818 题意:有n个圆环,其中有一些已经扣在了一起。现在需要打开尽量少的圆环,使得所有圆环可以组成一条链,例如,有5个圆环,1-2,2-3,4-5,则需要打开一个圆环,如圆环4,然 后用它穿过圆环3和圆环5后再次闭合4,就可以形成一条链:
阅读全文
摘要:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=144 题意:给出一个n个结点的无向图以及某个结点k,按照字典序从小到大顺序输出从1到结点k的所有路径。 思
阅读全文
摘要:https://vjudge.net/problem/UVA-1374 题意:给出n,计算最少需要几次能让x成为x^n(x和已经生成的数相乘或相除)。 思路:IDA*算法。 如果当前数组中最大的数乘以1<<(maxd-d)<n(即一直让最大的数相乘都无法到达n次方),此时可以剪枝。
阅读全文
摘要:https://vjudge.net/problem/UVA-1343 题意:如图所示,一共有8个1,8个2和8个3,如何以最少的移动来使得中间8个格子都为同一个数。 思路:状态空间搜索问题。 用IDA*算法的话会比较快,而且代码比较简洁。 IDA*的关键就是要寻找一个估价函数h(),在这道题目中,
阅读全文
摘要:https://vjudge.net/problem/UVA-11212 题意:给出n个自然段组成的文章,将他们排列成1,2...,n。每次只能剪切一段连续的自然段,粘贴时按照顺序粘贴。 思路:状态空间的搜索问题。 首先介绍一下IDA*,它属于DFS,在DFS遍历的时候,设定一个深度上限maxd,当
阅读全文
摘要:http://poj.org/problem?id=1011 题意:若干个相同长度的棍子被剪成若干长度的小棍,求每根棍子原来的可能最小长度。 思路:很经典的搜索题。 我一开始各种超时,这题需要很多剪枝。
阅读全文
摘要:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3270 2017年的第一题。 题意:给出必须要经过的边,找一条经过所有边的最短道路。 一开始一点想法都没有
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1010 题意:就是给出了一个迷宫,小狗必须经过指定的步数到达出口,并且每个格子只能走一次。 首先先来介绍一下奇偶性剪枝: 在这道题目中,如果使用剪枝的话,可以节省不少的时间。 在这道题目中,每次dfs循环时都可以判
阅读全文
摘要:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=513 终于开始接触图了,恩,开始接触DFS了,这道题就是求连通分量,比较简单。 2016-12-03 07
阅读全文