摘要: B-Problem B. sophistry_2021 CCPC 新疆省赛(重现赛)@KFC_ovo (nowcoder.com) //当需要后边的信息时,就只能从后往前推 #include<bits/stdc++.h> using namespace std; typedef long long 阅读全文
posted @ 2023-04-01 09:30 -Vermouth 阅读(58) 评论(0) 推荐(0) 编辑
摘要: gcd(x,y)=gcd(x,x+y) 阅读全文
posted @ 2022-11-26 10:32 -Vermouth 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 原题: #include<bits/stdc++.h> using namespace std; #define ios() ios::sync_with_stdio(false);cin.tie(0); /* 我们对输入的每一个数字分解质因数,分解过程中把下标存入对应的质因子中数组中。 然后对于每 阅读全文
posted @ 2022-11-25 22:00 -Vermouth 阅读(178) 评论(0) 推荐(0) 编辑
摘要: Shortest Path Fastest Algorithm (spfa) 单源最短路、存在负权边、常用来判断负环 这个算法因为与 Bellman-Ford 算法比较相似,只是在它的算法的基础上进行了队列优化,因此也被嘲讽为“队列优化的贝尔曼福德”。 就是每次可以更新到一个节点的最短距离的时候,我 阅读全文
posted @ 2022-11-14 20:18 -Vermouth 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 思想基础 DP 求各顶点之间的最短路径 直接三重循环枚举所有点,允许所有点作为重点站 Floyd优缺点分析: 优点:比较容易容易理解,可以算出任意两个节点之间的最短距离,代码编写简单。缺点:时间复杂度比较高(n3),不适合计算大量数据,当数据稍微大点儿的时候就可以选择其他的算法来解决问题了,不然也会 阅读全文
posted @ 2022-11-14 20:09 -Vermouth 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 适用于存在负权边,题目要求最短路不超过k条边,还可以检测是否存在回路 核心思想是 松弛操作(枚举所有边) 首先n次迭代,每一次循环所有边。我们这里用a,b,w表示存在一条从a走到b的边,权重是w。这里存边方式有很多种,可以用邻接表,结构体等。遍历所有边的时候更新一下其他点的距离,和Dijkstra算 阅读全文
posted @ 2022-11-14 19:53 -Vermouth 阅读(74) 评论(0) 推荐(0) 编辑
摘要: int 最大值:2147483647int 最小值:-2147483648float 最大值:3.40282e+38float 最小值:1.17549e-38// double(浮点数)不同于整型的储存方式,所以能储存的最大值比long long要大很多很多 就是无穷大了 double 最大值:1. 阅读全文
posted @ 2022-11-13 14:11 -Vermouth 阅读(400) 评论(0) 推荐(0) 编辑
摘要: Dijkstra依旧基于贪心 用堆排序动态维护剩余点中dist[] 最小的点 堆排序优化Dijkstra算法 稀疏图,用邻接表,稠密也可以 void add(int a,int b,int c) { e[idx]=b,w[idx]=c,ne[idx]=h[a],h[a]=idx++; } void  阅读全文
posted @ 2022-11-10 20:32 -Vermouth 阅读(200) 评论(0) 推荐(0) 编辑
摘要: Dijkstra算法的思想是:设置两个顶点的集合S和U,集合S中存放已找到最短路径的顶点,集合U中存放当前还未找到最短路径的顶点。初始状态时,集合S中只包含源点,设为v0,然后从集合U中选择到源点v0路径长度最短的顶点u加入到集合S中,集合S中每加入一个新的顶点u都要修改源点v0到集合U中剩余顶点的 阅读全文
posted @ 2022-11-10 20:01 -Vermouth 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-09-04 16:41 -Vermouth 阅读(64) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示