图论
图论图论图论
若渴.
大智不群,大善无帮,何惧孤步,何惧毁谤。
展开
-
LeetCode 968.BinaryTreeCameras 监控二叉树
题目链接LC.968题解题意emm如题啦~思路我们将“覆盖”定义为该节点可以被监控到。设节点有三种状态:未被覆盖;有摄像头;已被覆盖。为了使用最少的摄像头,监控尽可能多的节点,我们要自下而上地安装摄像头。为了完成这个操作,我们需要用到后序遍历。关于返回的状态,我们从叶子节点的子节点——空节点开始推导。对于一个空节点:如果它的状态为未被覆盖,则其父节点处需要安装摄像头,造成浪费;如果它的状态为有摄像头,则其父节点处状态为已被覆盖,导致摄像头安装在其父节点的父节点(爷爷节点原创 2020-09-22 20:22:43 · 105 阅读 · 0 评论 -
拓扑排序 洛谷P1347 排序
题目链接LG P1347题解题意找出拓扑排序。注意题目给的三种特殊情况。思路题目给出的是小于关系,可以看作边。看一下题目给的范围并不是特别大,可以来一个边judge一次。碰到环则立即输出;判断已输入的节点数量与总节点数量是否相等,不相等则继续判断,相等则输出已确定。注意一下重复边,可以直接跳过,否则注意不要重复记录入度。注意一下输出格式,不要漏了某个点QAQAC代码#include <bits/stdc++.h>using namespace std;//#原创 2020-09-19 11:25:13 · 187 阅读 · 0 评论 -
图论 最短路 邮递员送信
题目链接LG P1629题解题意找到任意两点的最短路,求和。思路Floyd 看一下数据范围,超时警告(在不使用奇技淫巧的情况下)。别的没尝试,数据范围比较大,稳妥一点使用了Dij。建立反向图,正向一遍反向一遍,求和就好。AC代码#include <bits/stdc++.h>using namespace std;//#pragma GCC optimize(2)#define IO ios::sync_with_stdio(false);cin.tie(0);co原创 2020-09-17 17:40:01 · 136 阅读 · 0 评论 -
“浪潮杯”山东第七届ACM Proxy
题目题意这个题稍微有点绕(是我英语读题能力太差QAQ)。最短路有多条的情况下,输出若干条最短路上与 0 相连接的最小序号的节点;不能到达,输出-1;可以直接到达目标节点且该路径为最短路径,输出0。题解由于要输出最短路上与 0 相连接的最小序号的节点,直接来肯定比较麻烦,所以我们反向建图,这样最后的判断就会容易很多。然后直接SPFA。之后再判断一下是输出最小序号还是0.AC代码(注释更有料哦)#include<iostream>#include<cstdio&g原创 2020-09-08 21:22:47 · 100 阅读 · 0 评论