自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Golang发邮件

以上就是一个简单的发邮件过程,可以做邮箱登录,邮箱验证码等等的工作。使用gomail这个包。

2023-03-06 16:04:06 746

原创 MySQL报错:Incorrect string value

报错Incorrect string value

2022-09-12 23:34:27 2213

原创 杂乱的知识点

git clone 有两种方式,我常用的是http协议的,但SSH更为简便,在拉取一些不开源的代码时加入了SSH公钥的话就不用再验证用户名和密码了。

2022-09-06 15:02:51 408

原创 Golang类型断言

类型断言就是把一个接口,可以推断成一种具体的类型。比如Error 类型实际上是一个空接口。

2022-09-06 11:34:07 172

原创 JWT 底层原理与使用

JWT 的出现就是为了解决传统Session + Cookie 技术存在的各种问题,实际上随着前后端分离的发展,以及数据中心的建立,越来越多的公司会创建一个中心服务器,同时服务于各种产品线,如:统一身份认证平台,这些产品线上的产品,他们可能有各种终端设备,包括但不仅限于浏览、桌面应用、移动端应用、平板应用、甚至于智能家居。JWT(json web token),json格式的网络令牌,简称token,它要解决的问题,就是为多种终端设备,提供统一的、安全的令牌格式。

2022-09-06 11:11:00 600

原创 Post和Get请求的区别

1、Post和Get本质上是一样的2、Post和Get都是Http 请求的基本方法。

2022-09-05 11:02:11 251

原创 Golang 导入CSV文件

逗号分隔值( Common - Sparated Values,CSV,有时候也称为字符分隔值,因为分隔字符也可以不是逗号)。其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字,那样被解读的数据。CSV 文件由任意数目的记录组成,记录间以某种换行符分割,每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用Wordpad 或者记事本打开。

2022-09-05 10:32:58 1550

原创 Xorm使用

默认是查询所有的映射字段,由于会默认忽略 0 值(指各类型的零值,如string 的 “”)。可以使用cols 解决这个问题。

2022-09-05 09:14:07 411

原创 Golang 的context用法

Golang 中的 context 是Go 语言在 golang 1.7 发布时新增的标注包。目的是增强Golang 开发中并发控制技术简单来说当一个服务启动时候,可能由此服务派生出多层级的goroutine ,但本质上来讲每个层级的goroutine 都是平行调度使用,不存在goroutine的父子关系,当其中一个goroutine执行的任务被取消了或者处理超时了,那么其他被启动起来的goroutine 都应该迅速退出,另外多个多层的goroutine 想传递请求域的数据该如何处理?

2022-09-05 08:52:32 450

原创 Golang 字符串转time 类型

由于数据库的类型为Data 类型,所以插入数据库的时候我先把前端传入的string类型的时间转为Time 再插入。Go 提供了两种插入的方式,即time.Parse和。两种方式,他们的差异比较大。可以看出两种方式转换后的时间 相差了 8个小时,这是因为时区的原因。time.Parse而CST时区则是东八区(北京时间) 和 UTC(世界标准时间)相差8个小时这个看情况去选定时区。

2022-09-03 11:51:24 7619

原创 Gin框架中的Bind函数

当参数比较简单,不需要结构体进行封装时,还需要采用context的其他方法来获取对应的值Gin在bind的时候,未对结构体的数据进行有效性检查,如果对数据有强要求时,需要自己对结构体的数据内容进行判断建议使用ShouldBIndxxx 函数。

2022-09-03 11:30:39 668

原创 Golang 的 Sling 库使用(http 客户端)

Sling库是用于创建和发送API请求的GO http客户端库。项目开发中发送http请求的场景,推荐使用sling库。Sling 本身是基于net/http 来处理发送请求,同时做了较好的封装,可以利用net/http 的一些特性(如 http trace),同时不必关心net/http 库的一些琐碎细节。Sling 默认实现可以覆盖大部分对于http发送请求场景,同时可以通过实现Doer 和ResponseDecoder 接口来扩展个性化场景。

2022-09-03 10:24:55 889

原创 Union ALL处理查询多张表分页的需求

需求是查询人员信息并展示,结果进行分页。由于这些人员信息分布在几张表中,并且字段名不同,个别属性也不相同。那么该如何进行分页呢??由于人员信息展示是在同一个表格中的,那么代表他们都是有相同的属性并展示这些相同属性,那么我们就可以用union all将他们连接起来!!

2022-09-02 15:52:15 3813 1

原创 Golang Time.Ticker 周期定时器 和 Time.Date 函数

Ticker 是一个周期触发定时的计时器,他会按照一个时间间隔往 channel 发送系统当前时间而channel的接收者可以 以固定的时间间隔从channel 中读取时间。调用runtime.goExit()将立即终止当前goroutine执行。...

2022-09-01 11:56:38 469

原创 MySQL 数据类型

MySQL Text类型是除了Char 和Vachar字符类型,mysql给我们提供了具有char和varchar无法实现的更多功能的text类型Text可以用于存储 1字节到4GB长度的文本字符串。我们经常在电子商务网站中找到用于在新闻站点存储物品的Text数据类型,如:产品详细描述与char 和 varchar不同,不必在列使用text类型时,指定存储长度。此外,当检索或插入文本数据(char和varchar时) ,mysql不会删除或填充空格。...

2022-09-01 11:10:36 356

原创 Golang 的指针传递和值传递

非引用类型(值类型):int、string、float、bool、数组和结构体引用类型:指针、slice、map、channel、接口、函数等变量存放的是一个内存地址值,这个地址值指向的空间存的才是真实值,内存通常在堆中分配,当没有任务变量引用这个地址时,该地址对应的数据空间就成了垃圾,被GC回收。...

2022-08-31 10:16:51 1049

原创 第十一届蓝桥杯[蓝桥杯2020初赛] 七段码

第十一届蓝桥杯[蓝桥杯2020初赛] 七段码小蓝要用七段码数码管来表示一种特殊的文字。上图给出了七段码数码管的一个图示,数码管中一共有7 段可以发光的二极管,分别标记为a, b, c, d, e, f, g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符的表达时,要求所有发光的二极管是连成一片的。例如:b 发光,其他二极管不发光可以用来表达一种字符。例如:c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上一行的方案可以用来表示不同的字符,尽管看上去比较相似。例如:a

2022-03-17 16:52:21 521

原创 卢卡斯定理(Lucas)

卢卡斯定理(Lucas)证明如下:结论:​卢卡斯定理的时间复杂度是plogN代码如下:#include<iostream>using namespace std;int n;int p;typedef long long ll;int qmi(int a,int b){ int res = 1; while(b) { if(b & 1)res = (ll)res * a % p; a = (ll)a

2021-07-20 11:55:31 771

原创 求组合数(快速幂求逆元)

求组合数(快速幂求逆元)费马小定理:​ 当如果***p是一个质数且整数a不是p的倍数***则有​ ap−1≡1a^{p-1} \equiv 1ap−1≡1 (mod p)乘法逆元定义:​ 如果整数b,m互质,且对于任意的整数a,如果满嘴b|a,则存在一个整数x满足 a/b ≡\equiv≡ a * x (mod m)则称x是b的逆元b存在逆元的充要条件是b与模数m互质,且m为质数 :​ bm−2即为b的逆元b^{m-2}即为b

2021-07-19 16:06:15 299

原创 高斯消元解线性方程组

高斯消元解线性方程组首先答案有三种情况:1、有唯一解​ 2、有无穷多解​ 3、无解通过矩阵的行列变换变为一个上三角的时候。如果是一个完美的阶梯型(即可以依次通过上一个方程解得所有未知元)则有唯一解如果有一个解有 0 = 非零的情况则无解。如果有0 = 0则有无穷多解高斯消元步骤1、枚举每一列c找到绝对值最大的一行(方便后续直接用乘法来消除下面的所有元素)2、交换到最上面一行(全部元素交换)3、将下面所有元素变为04、再反推回去由下到上得到一个仅有

2021-07-17 10:57:12 198

原创 中缀表达式模板

给定一个表达式,其中运算符仅包含 +,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。注意:数据保证给定的表达式合法。题目保证符号 - 只作为减号出现,不会作为负号出现,例如,-1+2,(2+2)*(-(1+1)+2) 之类表达式均不会出现。题目保证表达式中所有数字均为正整数。题目保证表达式在中间计算过程以及结果中,均不超过 231−1231−1。题目中的整除是指向 00 取整,也就是说对于大于 00 的结果向下取整,例如 5/3=15/3=1,对于小于 00 的结果向上

2021-04-29 16:25:44 122

原创 双链表

双链表实现一个双链表,双链表初始为空,支持 55 种操作:在最左侧插入一个数;在最右侧插入一个数;将第 kk 个插入的数删除;在第 kk 个插入的数左侧插入一个数;在第 kk 个插入的数右侧插入一个数现在要对该链表进行 MM 次操作,进行完所有操作后,从左到右输出整个链表。注意:题目中第 kk 个插入的数并不是指当前链表的第 kk 个数。例如操作过程中一共插入了 nn 个数,则按照插入的时间顺序,这 nn 个数依次为:第 11 个插入的数,第 22 个插入的数,…第 nn 个插入的数。

2021-04-27 18:46:31 385

原创 单链表(数组模拟:静态链表)

单链表实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 kk 个插入的数后面的数;在第 kk 个插入的数后插入一个数。现在要对该链表进行 MM 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第 kk 个插入的数并不是指当前链表的第 kk 个数。例如操作过程中一共插入了 nn 个数,则按照插入的时间顺序,这 nn 个数依次为:第 11 个插入的数,第 22 个插入的数,…第 nn 个插入的数。输入格式第一行包含整数 MM,表示操作次数。接下来 MM 行

2021-04-27 18:45:47 678 1

原创 区间合并

区间合并给定 nn 个区间 [li,ri][li,ri],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3][1,3] 和 [2,6][2,6] 可以合并为一个区间 [1,6][1,6]。输入格式第一行包含整数 nn。接下来 nn 行,每行包含两个整数 ll 和 rr。输出格式共一行,包含一个整数,表示合并区间完成后的区间个数。数据范围1≤n≤1000001≤n≤100000,−109≤li≤ri≤109−109≤li≤ri≤109

2021-04-27 18:45:10 151

原创 acwing 802 区间和(离散化)

acwing 802 区间和假定有一个无限长的数轴,数轴上每个坐标上的数都是 00。现在,我们首先进行 nn 次操作,每次操作将某一位置 xx 上的数加 cc。接下来,进行 mm 次询问,每个询问包含两个整数 ll 和 rr,你需要求出在区间 [l,r][l,r] 之间的所有数的和。输入格式第一行包含两个整数 nn 和 mm。接下来 nn 行,每行包含两个整数 xx 和 cc。再接下来 mm 行,每行包含两个整数 ll 和 rr。输出格式共 mm 行,每行输出一个询问中所求的区间内数字和

2021-04-25 19:10:32 254

原创 差分矩阵

差分矩阵(https://www.acwing.com/problem/content/description/800/)输入一个 nn 行 mm 列的整数矩阵,再输入 qq 个操作,每个操作包含五个整数 x1,y1,x2,y2,cx1,y1,x2,y2,c,其中 (x1,y1)(x1,y1) 和 (x2,y2)(x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 cc。请你将进行完所有操作后的矩阵输出。输入格式第一行包含整数 n,m,qn,.

2021-04-24 10:19:08 116

原创 2021-4-21二分搜索

数的三次方根给定一个浮点数 nn,求它的三次方根。输入格式共一行,包含一个浮点数 nn。输出格式共一行,包含一个浮点数,表示问题的解。注意,结果保留 66 位小数。数据范围−10000≤n≤10000−10000≤n≤10000输入样例:1000.00输出样例:10.000000#include<iostream>using namespace std;int main(){ double n ; cin>>n; ..

2021-04-21 23:55:31 91

原创 2021-04-16-最佳牛围栏(二分+前缀和)

最佳牛围栏https://www.acwing.com/problem/content/description/104/步骤:1、二分处理2、前缀和处理3、找最大的前缀和是否大于0二分原理:因为所有平均值肯定介于0~2000之中,不可能大于最大值所以可以二分搜索出一个mid值判断是否是满足要求的平均值(ai+ai+1+…aj )/i+j >= mid (j-i>-f)移项并在在mid乘一个j+i 再除以一个j+i,可以视作把每个ai-aj的元素都减了一个mid值,然后判断是否.

2021-04-16 16:33:36 113

原创 2021-4-15 二分搜素基础模型

#include<iostream>using namespace std;int main(){ //升序a数组中找到大于x的最小值; int a[5] = { 0,1,2,3,4 }; int x; cin >> x; int l = 0, r = 4; while (r > l) { int mid = (l + r) >> 1;//如果出现mid = (l + r )>>1 = l 的情况还是会继续循环 if (a[

2021-04-15 21:30:30 62

原创 2021-04-14-最高的牛(差分)

最高的牛 : https://www.acwing.com/problem/content/103/由题意分析得,每两个关系不可能存在交集,所以只需要将关系中间的所有数都减小1(所以用差分数组处理更快)就可以了但是 如果有重复的关系则不可以再次减小,所以用一个set<pair<int,int>>来记录判重,map也可以同时A,B关系不一定是前面小后面大,在差分数组处理的时候需要对前面的减一 最后一个加一所以要处理一下(可以swap一下把小的放前面,或者分两种情况差分处理).

2021-04-14 22:28:41 69

原创 2021--4-13 增减序列(差分)

增减序列 https://www.acwing.com/problem/content/102/题目要求最少的操作次数和得到多少种结果如果a数组来存储所有的整数那么则需要把a数组在区间[l,r]上的所有数字都加上1或者-1,相当于差分数列种bl +1/-1 br+1 -1/+1,这样就简便了很多,所以目标变对b2到bn操作,把b2到bn都变成0对差分序列的操作一共有四种1、对 bl和br操作,2<=l,r<=n,因为差分的是一个加一个减,所以在这个区间内找到一正一负因此可以.

2021-04-13 09:56:14 102

原创 2021-4-10 Acwing 99 激光炸弹

Acwing 99 激光炸弹 :https://www.acwing.com/problem/content/101/题目要求某一个大小的正方形内的所有权值之和,即求二维前缀和。坐标表示格子中心的位置第一步先预处理了所有二维前缀和并覆盖原sums数组(因为sums数组已经没用了,留着会占内存)预处理完毕后再枚举所有的边长为R的正方形即可。易错点:1、R范围在10的9次方但是地图的范围只有5000所以R大于5000之后的前缀和都不会变化,所以在一开始更新R的数值2、在预处理的时候从1开始动态更新su

2021-04-10 12:54:18 132

原创 2021-4-8 Acwing 98 分形之城

Acwing 98 分形之城题目链接:https://www.acwing.com/problem/content/description/100/题目要求两个编号房屋的直线距离(勾股)而两个房屋可能在地图中的某两个位置所以可以用坐标表示两个房屋的位置再用勾股计算出来直线距离 auto ac = calc(n,a-1); auto bc = calc(n,b-1); double x = ac.first - bc.first ; double y

2021-04-08 11:35:45 104

原创 2021-4-6 约数之和Sumdiv( 快速幂 + 递归)分治

题目链接:https://www.acwing.com/problem/content/99/假设现在有两个自然数 A 和 B,S 是 A^B 的所有约数之和。请你求出 S mod 9901的值是多少。输入格式在一行中输入用空格隔开的两个整数 A 和 B。输出格式输出一个整数,代表 S mod 9901 的值。数据范围0≤A,B≤5×107求所有约数之和再模一个数,先求约数之和,即把A拆分成 p1^c1 p2^c2 …pn^cn;(即把6拆成了2^1 x 3^1)所以用乘法 所以A^

2021-04-06 15:16:33 92

原创 2021-4-5 汉诺塔(递推)

四柱汉诺塔问题,题目链接https://www.acwing.com/problem/content/98/汉诺塔问题,条件如下:1、这里有 A、B、C 和 D 四座塔。2、这里有 n 个圆盘,n 的数量是恒定的。3、每个圆盘的尺寸都不相同。4、所有的圆盘在开始时都堆叠在塔 A 上,且圆盘尺寸从塔顶到塔底逐渐增大。5、我们需要将所有的圆盘都从塔 A 转移到塔 D 上。6、每次可以移动一个圆盘,当塔为空塔或者塔顶圆盘尺寸大于被移动圆盘时,可将圆盘移至这座塔上。请你求出将所有圆盘从塔 A 移动

2021-04-05 16:58:27 172

原创 2021-4-5递推(费解的开关)

题目链接https://www.acwing.com/problem/content/description/97/题目要求把所有的0都按成 1 如果按不了则输出 -1 找最小的改变次数,可以用广搜寻找最短的路径,也可以用递推,首先每个开关只会被按一次,而且如果固定了第一行则本题只有唯一的一种解法,因为第一行被固定则第二行的点击情况也是被固定的(假如第一行某一位为0则要通过改变第二行才能把第一行都变为1)同样道理后面第3、4、…n都是被固定的所以只有一种解因此我们只需要枚举第一行的所有改变情况就可以知道

2021-04-05 13:55:17 109

原创 第一次写文章,记录一下自己刷过的题和总结一下思路,并发表一些拙见!

第一次写文章,记录一下自己刷过的题和总结一下思路,并发表一些拙见!

2021-04-05 13:12:46 111 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除