学习笔记
「已注销」
这个作者很懒,什么都没留下…
展开
-
【学习笔记】数据结构--最短路径问题(弗洛伊德和迪迦特斯拉)
前向星void add_edge(int u, int v, int w) { //加边,u起点,v终点,w边权 edge[cnt].to = v; //终点 edge[cnt].w = w; //权值 edge[cnt].next = head[u];//以u为起点上一条边的编号,也就是与这个边起点相同的上一条边的编号 head[u] = cnt++;//更新以u为起点上一条边的编号}弗洛伊德(floyd)void Floyd(MGraph *mGraph, int **iArrPath原创 2020-09-04 15:41:49 · 292 阅读 · 0 评论 -
【学习笔记】数据结构 --- 线性结构和STL
栈(stack)栈是一个先进后出的容器,需要使用#include <stack> 头文件stack <int> a ; //定义一个存储int 类型的栈 a.push_back(1) ; //将 1 压入栈中 a.pop() ; // 将栈的最后一个元素弹出(删除) a.empty() ; //判断栈是否为空,如果是空的返回1 否则返回0 a.size() ; //返回栈的大小 a.top() ; //返回栈顶元素(就是栈的最后一个元素)a.front() ; //原创 2020-08-26 23:28:59 · 210 阅读 · 0 评论 -
【学习笔记】动态规划
区间dp牛客-牛妹爱数列#include <bits/stdc++.h>#define rep(i,a,b) for(int i=a;i<b;i++)#define T int t ;cin >> t;while(t--)using namespace std ;typedef long long ll;typedef unsigned long long ull;const int maxn = 2e5 + 10;const int INF = 0x3f3f原创 2020-08-15 10:16:25 · 115 阅读 · 0 评论 -
【学习笔记】广度优先搜索和深度优先搜索(BFS和DFS)
广度优选搜索(bfs)BFS大致思路:1.首先创建一个visit[ ]数组和一个队列q,分别用来判断该位置是否已经访问过及让未访问过的点入队;2.初始化visit[ ]数组,清空q队列;3.让起点start入队,并使该点的visit置1;4.while(!q.empty()){…}执行搜索操作,a.取出队头元素后使队头元素出队,判断该元素是否为目标到达点;b.如果是目标点,就返回结果(一般是最短时间、最短路径);c.如果不是目标点,就继续访问与其相邻的位置点,将可走的相邻的位置点原创 2020-08-06 09:54:24 · 237 阅读 · 0 评论 -
【算法学习笔记】并查集
挂个例题:落谷亲戚并查集是最简洁而优雅的算法之一,主要用于解决一些元素分组的问题。管理一系列不相交的集合,支持两种操作:合并 :把领个不相交的集合合并为一个集合 。查询 :查询两个元素是否在同一个集合中。并查集的重要思想在于,用集合中的一个元素代表集合。有个大佬给出过有趣比喻,把集合比喻成帮派,而代表元素则是帮主。这样就能写出最基础的代码:初始化:假设每个人各为一派掌门。数组a用来春初父节点。inline void init(int n){ for(int i = 0 ; i <原创 2020-08-04 09:15:46 · 216 阅读 · 0 评论