c++算法
successzjl23
因为热爱,所以坚持;不给自己留退路才能大步向前,不要摸鱼了,请不要假装学习,结果不会陪我们演戏!
展开
-
新生赛题解
C思路:C题这道题思路就是两个for循环前后遍历一遍,但是有很多小细节会导致不能AC,比如说lljj最多做n道题,比如说数据范围是1000,数组就开到了1000,这些小细节导致很多人wa。代码#include <stdio.h>int n, k;int a[1010];int main(){ scanf("%d%d",&n,&k); int sum = 0; for (int i = 1; i <= n; i ++ ) scanf("%原创 2021-10-16 21:39:21 · 100 阅读 · 0 评论 -
最短路(Dijkstra,Bellman-Ford,SPFA,Floyd算法)
寒假学了最短路算法,半懂不懂的,玩了一个假期以后彻底忘的干干净净;考完蓝桥杯,我要重新捡起最短路,不能再堕落了!!!这里是我一边学一边整理的自以为比较全的最短路合集了QwQ!最短路一、单源最短路1.所有边权都是正数朴素Dijkstra时间复杂度一般为O(n^2)堆优化Dijkstra算法时间复杂度一般为O(mlogn)2.存在负权边Bellman-Ford时间复杂度一般为O(nm)SPFA时间复杂度一般为O(m)最坏是O(nm)二、多源最短路Floyd算法时间复杂度O(n^原创 2021-04-20 12:01:30 · 189 阅读 · 2 评论 -
单链表的实现(数组模拟)
害,发现图论的题,那些数和图都需要用邻接表来存储,邻接表掌握不好还真难以学下去图论,所以今天来突击一下邻接表!!!在这里我们学习一种方法:用数组模拟邻接表单链表用数组模拟单链表实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 k 个插入的数后面的数;在第 k 个插入的数后插入一个数。现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第 k 个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了 n 个数,则按照原创 2021-04-20 10:42:40 · 177 阅读 · 0 评论 -
拓扑排序
感觉自己与别人差开好多了,好好学习,加油!!!今天就从拓扑排序开始叭拓扑排序定义拓扑排序应用于有向无环图(拓扑排序只有无环图才有,如果有环就不存在拓扑排序了)拓扑排序是图论中的一种的排序方法。拓扑排序就是把AOV图中各个顶点按照它们互相之间的优先关系排列成一个线性序列的过程。AOV图数据在定点上(用顶点表示活动,用弧表示活动间优先关系的有向图)方法1.在有向图中选一个没有前驱的顶点并且输出2.从图中删除该顶点和所有以它为尾的弧,即删除所有有关的边3.重复上述两步,直至全部已输出原创 2021-04-18 20:32:38 · 77 阅读 · 0 评论