![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索与图论
文章平均质量分 50
YYYYYY_lll
菜鸡罢了
展开
-
DFS一些:连通性、顺序搜索、剪枝与优化
我们发现这道题目有两个可以剪枝的部分,一个是如果当前的答案已经大于了我们已知的最小答案,不用说直接return返回即可.第二个剪枝则是,我们可以将小猫的体重从大到小排序,这样我们的搜索树就会缩短许多。这里我们可以优先搜索质量重的猫,所以我们可以把所有的猫按重量从大到小排序。就是换个搜索顺序,但效率不同,也就是优先搜枝条少的搜索子树。关于连通性,其实最好的求解方式一般就是搜索。如果当前位置放了一个猫就会超重,那么就不要放。如果当前答案不优于最优解,那么就不要搜。也就是从头开始(从尾开始也行)搜索。原创 2024-07-04 10:35:28 · 228 阅读 · 0 评论 -
854. Floyd求最短路(python3)
给定一个 n𝑛 个点 m𝑚 条边的有向图,图中可能存在重边和自环,边权可能为负数。再给定 k𝑘 个询问,每个询问包含两个整数 x𝑥 和 y𝑦,表示查询从点 x𝑥 到点 y𝑦 的最短距离,如果路径不存在,则输出impossible。数据保证图中不存在负权回路。原创 2024-06-30 16:08:34 · 408 阅读 · 0 评论 -
849. Dijkstra求最短路 I (python3)
给定一个 n𝑛 个点 m𝑚 条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出 11 号点到 n𝑛 号点的最短距离,如果无法从 11 号点走到 n𝑛 号点,则输出 −1−1。原创 2024-06-30 15:44:54 · 293 阅读 · 0 评论 -
848. 有向图的拓扑序列(python)
给定一个 n𝑛 个点 m𝑚 条边的有向图,点的编号是 11 到 n𝑛,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1−1。若一个由图中所有点构成的序列 A𝐴 满足:对于图中的每条边 (x,y)(𝑥,𝑦),x𝑥 在 A𝐴 中都出现在 y𝑦 之前,则称 A𝐴 是该图的一个拓扑序列。原创 2024-06-30 11:45:41 · 175 阅读 · 0 评论 -
847. 图中点的层次(python3)
给定一个 n𝑛 个点 m𝑚 条边的有向图,图中可能存在重边和自环。所有边的长度都是 11,点的编号为 1∼n1∼𝑛。请你求出 11 号点到 n𝑛 号点的最短距离,如果从 11 号点无法走到 n𝑛 号点,输出 −1−1。原创 2024-06-30 11:30:06 · 245 阅读 · 0 评论