图论
rwrsgg
即使身处黑暗,心中也应该有光才对
展开
-
历届试题 发现环
问题描述 小明的实验室有N台电脑,编号1~N。原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络。在树形网络上,任意两台电脑之间有唯一的路径相连。不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径,使得这些电脑上的数据传输出现了BUG。为了恢复正常传输。小明需要找到所有在环路上的电脑,你能帮助他吗?输入格式 第一行包含一个整数N。 以下N行每行两个整数a和b,表示a和b之间有一条数据链接相原创 2020-10-05 22:41:46 · 80 阅读 · 0 评论 -
SPFA算法
// SPFA算法 ,可以处理负权环的最短路径算法//其主要思想是通过队列的数据结构进行松弛操作//顺便本次用向量的方法存储邻接表吧!! //注:若是有负环,则会陷入无限次的出队入队,在这//里判断结束的方法是一个点进入了n次队列我们就结束程序 #include <iostream>#include <queue>#define inf 0x3f3f3f3fusing namespace std;int n,m;int dis[105]; // 记录当前原创 2020-07-17 18:11:53 · 82 阅读 · 0 评论 -
Floyd算法
1.迪杰斯特拉算法有一种贪心的思想,它总是找到当前已知的最段路径进行延拓。2.而Floyd算法则是可以寻找任意两点的最段路径,他的思想是通过不同的中转结点进行比较,在找出最短。//floyd算法总结/*可以计算任意两点之间的最短单元路径 */ #include <iostream>#include <cstring>#include <algorithm>#define inf 0x3f3f3f3fusing namespace std;int m原创 2020-07-17 17:01:45 · 283 阅读 · 0 评论 -
试题 算法提高 树的直径
资源限制时间限制:100ms 内存限制:8.0MB问题描述 树的直径输入格式 输入的第一行包含一个整数n,表示树中的点数。接下来n-1行,每行3个正整数,表示连同的两点及边的权值。输出格式 输出1行,包含一个整数,表示树的直径。样例输入71 2 11 3 12 4 13 5 14 7 14 6 1样例输出5数据规模和约定n<10^5//树的直径,深搜找到最远点,再用最远点找到直径,不是森林 #include <iostream>#inc原创 2020-07-01 21:10:02 · 611 阅读 · 0 评论 -
暑假训练---三棱锥内切球公式及海伦公式
题目 2326: 七月树的水题题目描述七月树看到了一道题。“哇!水题啊!”七月树愉快地叫着,看样子她 AK稳了。七月树看到的题如下:有一个如图的三棱锥,其中 AD,BD,CD 两两互相垂直。已知 AD,BD,CD 的长度,求该三棱锥内切球的最大体积。输入三个整数 a,b,c,表示 AD,BD,CD 的长度。输出三棱锥内切球的体积,保留 2 位小数。样例输入1 1 1样例输出0.04设内切球bai球 O 则 O 三棱锥四面du任距离 R ,由 O 顶点别三棱锥四面底面四三棱锥原创 2020-06-29 14:58:48 · 6746 阅读 · 0 评论 -
暑假训练6 -- 带分数(dfs的应用)
[蓝桥杯][2013年第四届真题]带分数时间限制: 1Sec 内存限制: 128MB 提交: 963 解决: 544题目描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入从标准输入读入一个正整数N (N< 1000*1000)输出程序输出该数字用数码原创 2020-06-19 16:59:48 · 154 阅读 · 0 评论 -
暑假训练五--士兵排序问题(拓扑排序)
有N个士兵(1≤N≤26),编号依次为 A,B,C,…,队列训练时,指挥官要把一些士兵从高到矮一次排成一行,但现在指挥官不能直接获得每个人的身高信息,只能获得“P1比P2高”这样的比较 结果(P1、P2∈A,B,C,…,Z,记为 P1> P2),如”A> B”表示A比B高。请编一程序,根据所得到的比较结果求出一种符合条件的排队方案。(注:比较结果中没有涉及的士兵不参加排队)输入比较结果从文本文件中读入(文件由键盘输入),每个比较结果在文本文件中占一行。输出若输入数据无解,打印“原创 2020-06-17 21:34:43 · 726 阅读 · 0 评论 -
邮局---dfs与剪枝的训练
[蓝桥杯][历届试题]邮局时间限制: 1Sec 内存限制: 128MB 提交: 219 解决: 60题目描述C村住着n户村民,由于交通闭塞,C村的村民只能通过信件与外界交流。为了方便村民们发信,C村打算在C村建设k个邮局,这样每户村民可以去离自己家最近的邮局发信。现在给出了m个备选的邮局,请从中选出k个来,使得村民到自己家最近的邮局的距离和最小。其中两点之间的距离定义为两点之间的直线距离。数据规模和约定对于100%的数据,1< =n< =50,1< =m< =25,1&l原创 2020-06-14 09:28:35 · 275 阅读 · 0 评论 -
倍增法求LCA模板初写
// 倍增法求LCA(最近公共祖先)//可分为两步,1:预处理(Vlog(V)的时间复杂度) //2:查询(单步查询为log(V)的时间复杂度) //采用邻接表存树 #include <iostream>#include <algorithm>#include <cstring>#include <queue>#include <vector>using namespace std;const int maxn = 1000原创 2020-06-09 13:28:48 · 128 阅读 · 1 评论 -
题目 2264: [蓝桥杯][2015年第六届真题]生命之树
在X森林里,上帝创建了生命之树。他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, …, vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。在这个前提下,上帝要使得S中的点所对应的整数的和尽量大。这个最大的和就是上帝给生命之树的评分。经过atm的努力,他已经知道了上帝给每棵树上每个节点上的整数。但是由于 atm 不擅长计算原创 2020-05-31 17:08:53 · 158 阅读 · 0 评论 -
[蓝桥杯][历届试题]网络寻路-题解(C++代码)
题目 1452: [蓝桥杯][历届试题]网络寻路时间限制: 1Sec 内存限制: 128MB 提交: 308 解决: 129题目描述X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。源地址和目标地址可以相同,但中间节点必须不同。如下图所示的网络。1 -> 2 -> 3 -> 1 是允许的1 -> 2 -> 1 -&原创 2020-05-26 13:23:19 · 994 阅读 · 0 评论 -
大臣的旅费(关于求树的直径以及链式向前星的训练dfs)
大臣的旅费时间限制: 1Sec 内存限制: 128MB 提交: 860 解决: 218题目描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国...原创 2020-04-16 14:16:34 · 103 阅读 · 0 评论 -
迪杰斯特拉--链式向前星
//算法-迪杰斯特拉 -链式向前星存边实现,加上优先队列#include <iostream>#include <algorithm>#include <queue>#include <cstring>#define INF 0x3f3f3f3f#define MAXN 555using namespace std;int n,s;...原创 2020-04-16 14:15:21 · 1144 阅读 · 0 评论 -
Dijkstra迪杰斯特拉最短单元路径简单版--(邻接矩阵实现)
//算法-迪杰斯特拉 #include <iostream>#include <algorithm>#include <queue>#include <cstring>#define INF 0x3f3f3f3f#define MAXN 105using namespace std;int n,s; //点的个数int G[MAX...原创 2020-04-16 14:15:51 · 172 阅读 · 1 评论