一部分算法(不全)
竞赛中比较经常会用到的一些算法
中了beakhyun的毒
这个作者很懒,什么都没留下…
展开
-
洛谷: P1656 炸铁路(并查集)
思路: 枚举每一条铁路,假设去掉这条铁路,检测图中的n个地点是否还能连通。如果不能连通,说明需要炸掉这条路,如果能连通,说明去掉这条路并不影响连通性,就没必要把这条路炸了。注意Union方法,如果x和y的根节点是一样的,直接return,否则就成环了。今天记录一道并查集的题目。原创 2024-03-04 20:17:33 · 543 阅读 · 0 评论 -
洛谷: P1531 I Hate It(线段树)
创建线段树的时间复杂度为O(n),每次查找和修改的时间复杂度均为O(logn)记录一道线段树单点修改题目。原创 2024-03-05 17:13:06 · 420 阅读 · 0 评论 -
Dijkstra&floyed
在实现上,Dijstra需要两个数组记录当前已有的最短路径和地点是否已经加入到了集合当中,贪心思想。弗洛伊德为三层for,算法复杂度分别是n方和n的三次方。1.使用场景,迪杰斯特拉: 一个点到其他各个点的最短路径。弗洛伊德:从i到j的最短路径。---没有比刷题更好的理解方式---原创 2024-03-13 20:36:57 · 522 阅读 · 0 评论