摘要:
题目链接:https://vjudge.net/contest/67418#problem/F 题目大意:给你一个图,让你加一条边,使得原图中的桥尽可能的小。(谢谢梁学长的帮忙) 我对重边,tarjan算法中的各个数组的作用,以及需要哪些数组,还有一些不可取的地方。 重边:原来一直以为无向图没有重边 阅读全文
摘要:
题目链接:https://cn.vjudge.net/problem/POJ-2631树的直径:树中的最长链具体思路:随便找一个点bfs,然后找到最长的链,然后再以找到的点作为起点进行bfs,然后找到的最长的链就是树的直径。AC代码:#include#include#... 阅读全文
摘要:
https://vjudge.net/problem/Gym-101911D具体思路:对于每一个数,假设当前的数是10 分解 4次,首先 1 10 这是一对,然后下一次就记录 10 1,这样的话直接每一个数跑到这个数的一半就可以了,还有一个优化,用一个数组(map会超... 阅读全文
摘要:
题目链接:https://vjudge.net/problem/Gym-101991D具体思路:首先看数据范围,暴力肯定不可以,可以下离散化,然后先求出离散化后每一个点到(1,1)的符合题目的要求的个数,然后再按照一块一块的求,打个比方,离散化后(1,1) (1,2)... 阅读全文
摘要:
方法一:因为最多是10的六次方,所以可以直接枚举二进制上的每一位来得到最优结果。AC代码:#include#include#include#include#include#include#include#include#include#includeusing nam... 阅读全文
摘要:
题目链接:https://vjudge.net/problem/POJ-3694 具体思路:首先可以通过缩点的方式将整个图变成一个树,并且树的每条边是桥,但是我们可以利用dfn数组将整个图变成树,这样就可以省去缩点的过程了,同时lca的作用。假设有如下情况。 f->a f->b,这是缩点之后的,如果 阅读全文
摘要:
题目链接:https://cn.vjudge.net/problem/UVA-796 顺便总结一下,对于连通图的桥和割点。 首先,从tarjan的角度来说,dfn数组代表的是当前节点的编号,也就是时间戳,low数组代表的是当前节点能够到达的最早的时间戳(一定要注意是时间戳)。打个比方,1->2->3 阅读全文
摘要:
题目链接:https://vjudge.net/problem/CodeForces-1070F具体思路:首先把所有的00放进去,然后对于10 和01 的取两个数目最小值t,排完序后将前t个加起来,然后再将剩余的看作一类,求一个最大加的数目就可以了。关于为什么看作一类... 阅读全文
摘要:
题目链接:https://vjudge.net/contest/271361#problem/E 具体思路:运用并查集,每一次连接上一个点,更新他的父亲节点,如果父亲节点相同,则构不成树,因为入读是2,然后再去遍历每一个点的父亲节点,判断一下祖宗节点有几个,只有1个才能构成树,注意0 0也是树.。。 阅读全文
摘要:
题目链接:https://cn.vjudge.net/contest/270201#problem/D具体思路:利用斐波那契数列的性质,斐波那契数列可以构成任何正整数,所以按照顺序减下去肯定能减到0.斐波那契数列 1 1 2 3 5 8 13 21 。。。。。比如说... 阅读全文