- 博客(46)
- 收藏
- 关注
原创 SPFA 模板
一个图有 n 个点,m 条有向边,每条边都有长度 d。给你起点 s 终点 t,要求输出起点到终点的最短距离。然后是 m 行,每行 3 个数 a,b,d,表示 a 到b 有一条边,且其长度为d。输入第一行,空格分开的正整数n 和 m,点的编号是 1∼n。最后一行是两个数 s,t,起点 s,终点 t。
2023-06-18 13:52:14
144
原创 最短路算法
若有负权,INF加上该边边权小于INF,就逃出了判断条件,故需要预先判断,防止这个现象的发生。实际上可以通过斐波那契堆再次优化,但偏僻,常数过大,效果极小,很少被使用。注意初始化无穷大(0x3f3f3f3f)Dijkstra本质:贪心。
2023-06-11 21:30:50
529
原创 一些零杂的小事
一·bool一般使用cin或快速读入,不用scanf特别是数组。二·少用getline,否则涉及到缓冲区的一些事。三·注意STL中一些函数操作区间左闭右开。
2023-06-03 23:23:21
49
原创 图论基础
使用双端队列deque,可在两个方向插入元素。其中”ד不是叉乘,而是集合的笛卡尔积。或用两个正常队列亦可,代码如上👆。链式前向星需要手写,模拟链表。
2023-05-31 22:19:07
37
原创 map和set的用法
删除单个元素a.erase(it),it为删除的元素的迭代器,时间复杂度为O(1)。find(key)返回键为key的映射的迭代器,时间复杂度为O(logN)a.erase(firse,last)删除[first,last).a.erase(key),key为欲删除的键。clear()用来清空map中的所有元素,O(N)size()用来获得map中映射的对数,O(1)第二种:删除一个区间内的所有元素。返回0或一,O(logN)
2023-04-14 23:34:28
36
原创 信息学奥赛 | 语法入门&算法入门&进阶提高题单
洛谷(https://www.luogu.com.cn)收绿了OI 界许多经典题目,许多题目很具有代表性,建议将以下题单作为日常训练的补充。按知识难度刷题的一些建议:对于初学者,建议先完成 Part 1,2 两部分内容,为接下来的学习打好基础。对于要参加 CSP-S 的选手,建议在前面的基础上优先完成 Part 3.1-3.4, 4.1-4.4, 6.1-6.5, 7.1-7.8, 8.1-8.7 的内容(具体内容见下),在此基础上继续完成其他内容。
2023-04-11 22:47:28
637
原创 区间DP---石子合并(下)
有 n(1≤n≤300)堆石子排成一个环状,每堆不超过 100 颗石头,现在要将石子有序地合并成一堆,规定如下:每次只能移动相邻的 2 堆石子合并,合并花费为新合成的一堆石子的数量。求将这 n堆石子合并一堆的总花费最小。第一行一个整数 n。第二行 n个整数,表示每堆石头的数量。一个整数,表示最小的花费。
2023-04-10 00:01:28
47
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人