摘要: Go语言Slice作为函数参数详解 前言 首先要明确~~Go语言中实质只有值传递~~,引用传递和指针传递是相对于参数类型来说。 个人认为上诉的结论不对,把引用类型看做对指针的封装,一般封装为结构体,结构体是值类型,所以感觉都是值传递。不然我感觉其它语言实质不也都是值传递?不过我刚学Go,可能还没完全 阅读全文
posted @ 2021-07-01 22:02 C天外天S 阅读(1253) 评论(3) 推荐(0) 编辑
摘要: #前言 在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。 这一类问题其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上 阅读全文
posted @ 2021-07-01 21:43 C天外天S 阅读(102) 评论(0) 推荐(0) 编辑
摘要: #快速幂问题 即求:\(a^b \mod c\) ##暴力 ###直接暴力 时间复杂度:\(O(b)\) int ans = 1,i; for(i=0;i<b;i++) ans *= a; ans %= c; 问题在于当a,b过大时,容易溢出。 ###优化溢出 时间复杂度:\(O(b)\) 首先明确 阅读全文
posted @ 2021-07-01 19:00 C天外天S 阅读(116) 评论(0) 推荐(0) 编辑
摘要: #Prim算法 时间复杂度:O(\(N^2\),N为结点数) 说明:先任意找一个点标记,然后每次找一条最短的两端分别为标记和未标记的边加进来,再把未标记的点标记上。即每次加入一条合法的最短的边,每次扩展一个点由未标记为已标记,直至扩展为N个点。 #include<stdio.h> #include< 阅读全文
posted @ 2021-07-01 01:34 C天外天S 阅读(70) 评论(0) 推荐(0) 编辑
摘要: #背包(资源型DP) ##01背包 01背包(ZeroOnePack): 有N件物品和一个容量为V的背包。(每种物品均只有一件)第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用dp[i][v] 阅读全文
posted @ 2021-07-01 01:10 C天外天S 阅读(93) 评论(0) 推荐(0) 编辑
摘要: #解析 对一个有向无环图(Directed Acyclic Graph,简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。 效果如图: #模板 void toposort(int map[MAX][MAX 阅读全文
posted @ 2021-06-30 23:40 C天外天S 阅读(35) 评论(0) 推荐(0) 编辑