1.go语言vscode集成开发环境搭建

[TOC] ## 本篇概要 搭建go语言环境,除了要搭建go语言的编译环境,还要搭建go语言的集成开发环境,为此需要选择go语言的集成开发环境的工具,这就是“工于善其事,必先利其器”,可以大大加快自己的开发进度。 ## 集成开发环境工具(ide) 这里我主要介绍从我2016年开始学习go语言以来使用

2.如何选择go语言基础类型——Leetcode习题9

[TOC] # 本篇前瞻 欢迎来go语言的基础篇,这里会帮你梳理一下go语言的基本类型,注意本篇有参考[go圣经](https://gopl-zh.github.io/),如果你有完整学习的需求可以看一下。另外,go语言的基本类型比较简单,介绍过程就比较粗暴,不过我们需要先从一个例题开始。 # Le

3.你所不知道的go语言控制语句——Leetcode习题69

[TOC] # 本篇前瞻 好的,现在你已经来到一个新的小结,在这里你将学习到go语言的重要内容,习得go 25个关键字中的12个:var, const, if, else, switch, case, default, fallthrough, for, break, goto, continue,

番外1.ssh连接管理器

[TOC] # 本篇前瞻 学习完go语言基础的专栏,我们究竟写出怎么样的实用工具呢?我在github上开源的[ssh连接管理器](https://github.com/Breeze0806/ssh-mgr)就是一个比较好的样例。 # 项目背景 这个项目的背景是之前我在上班时连接生产机器时只能使用“s

4.go语言复合类型简述

[TOC] # 1. 本章前瞻 很好,经过很长的时间,你终于来到go语言的复合类型中,这里会介绍go语言的3种复合结构:切片(slice,可变数组),映射(map)和字符串(string)。 有些老手可能会问: 1.那结构体(struct)呢,你怎么不介绍? 答:现在还没法完整地介绍结构体(stru

SpringBoot进阶教程(七十五)数据脱敏

无论对于什么业务来说,用户数据信息的安全性无疑都是非常重要的。尤其是在数字经济大火背景下,数据的安全性就显得更加重要。数据脱敏可以分为两个部分,一个是DB层面,防止DB数据泄露,暴露用户信息;一个是接口层面,有些UI展示需要数据脱敏,防止用户信息被人刷走了。 v需求背景 DB层面的脱敏今天先不讲,今

深度优先搜索算法-dfs讲解

迷宫问题 有一个迷宫: S**. .... ***T (其中字符S表示起点,字符T表示终点,字符*表示墙壁,字符.表示平地。你需要从S出发走到T,每次只能向上下左右相邻的位置移动,不能走出地图,也不能穿过墙壁,每个点只能通过一次。) 现在需要你求出是否可以走出这个迷宫 我们将这个走迷宫过程称为dfs

初步动态规划讲解:数字三角形

题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的样例中,从 7 → 3 → 8 → 7 → 5 7 \to 3 \to 8 \

洛谷P2433 小学数学 N 合一

写完了这道题结果脑子断电把浏览器关了。。。。。。打开一看 没保存 寄 传送门:【深基1-2】小学数学 N 合一 - 洛谷 第一题 第二题 第三题 这几道题没啥好说的,直接输出就彳亍了 cout << "I love Luogu!" << endl; cout << “6 4” << endl; co

AcWing 第102场周赛 题解

第一次ak周赛,写篇题解纪念一下 第一题 给定两个长度为 n n n 的整数序列 a 1 , a 2 , … , a n a_1,a_2,…,a_n a1​,a2​,…,an​ 以及 b 1 , b 2 , … , b n b_1,b_2,…,b_n b1​,b2​,…,bn​。 设 A = a 1

分块

首先我们要了解一个问题:为什么要用分块 我们拿一道题目举例: ### 例题 给定一个长度为 $N$ 的数列 $A$,以及 $M$ 条指令,每条指令可能是以下两种之一: 1. `C l r d`,表示把 $A[l],A[l+1],…,A[r]$ 都加上 $d$。 2. `Q l r`,表示询问数列中第

C++火车头优化

​ 火车头:将下面的代码加在头文件前即可 #pragma GCC optimize(3) #pragma GCC target("avx") #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimi

线段树

例题1: > 给定一个正整数数列 $a_1,a_2,…,a_n$,每一个数都在 $0 \sim p-1$ 之间。 可以对这列数进行两种操作: > 1. 添加操作:向序列后添加一个数,序列长度变成 $n+1$; > 2. 询问操作:询问这个序列中最后 $L$ 个数中最大的数是多少。 > > 程序运行的

STL容器:map

map 可以当作特殊的数组来使用,在数组开不下,或者数组下标不是整数的时候使用 map 就很方便,比如统计字符串的出现个数,统计 int 范围内的数的出现次数等等。 映射是指两个集合之间的元素的相互对应关系。就是一个元素对应另外一个元素。 打个比方说有一个姓名的集合 { " T o m " , "

树状数组

都说树状数组思路很难,那我们今天就给他讲个透彻! 前置知识:`lowbit` 运算 `lowbit` 的作用就是返回一个数从右往左数的第一个1与他前面所有的0所组成的十进制数 举个例子: $114$这个数转换为二进制为$1110010$,而它从右往左数的第一个$1$在第二位,将这位右边的所有$0$放

前缀和

# 前缀和 现在有一道题: > 输入一个长度为 $n$ 的整数序列。 > > 接下来再输入 $m$ 个询问,每个询问输入一对 $l, r$。 > > 对于每个询问,输出原序列中从第 $l$ 个数到第 $r$ 个数的和。 > #### 数据范围 > > $1 \le l \le r \le n$ >

插头dp学习笔记

## 题目 给你一个 $n \times m$ 的棋盘,有的格子是障碍,问共有多少条回路满足经过每个非障碍格子恰好一次。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/f34712c0090d47288ad402cef75795bf.png#pic_center)

01背包问题

题目 题目描述 有 N N N 件物品和一个容量是 V V V 的背包。每件物品只能使用一次。 第 i i i 件物品的体积是 v i v_i vi​,价值是 w i w_i wi​。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整

并查集

例题 一共有 \(n\) 个数,编号是 \(1 \sim n\),最开始每个数各自在一个集合中。 现在要进行 \(m\) 个操作,操作共有两种: M a b,将编号为 \(a\) 和 \(b\) 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为 \(a\

最小生成树

## 什么是最小生成树 给定一个图,在图中选择N - 1条边(N代表图的点数)把图的所有节点都连起来,且边的权值最小,则这N - 1条边就是原图的最小生成树。 ## 如何求最小生成树 求最小生成树有两种算法: 1. prim 2. kruskal ## prim算法 其实本质上和dijstra算法很