自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于pytorch简易实现gpt1

最近学习了GPT1模型,感觉模型相对来说比较简单,参数也不多。于是就根据模型结构用pytorch简单实现了一下,执行了一个机器翻译的任务。

2025-02-13 14:40:43 702 1

原创 Codeforces Round #823 (Div. 2) A-C

Codeforces Round #823 (Div. 2)

2022-09-26 17:15:47 577 1

原创 比较简单的nginx搭建静态资源linux服务器教程

那么当你输入8.8.8.8:80/abc/头像123.png,nginx就会去 /data/touxiang目录下寻找资源。一定要确保修改的配置文件是nginx正在使用的,否则可能会不生效,不同的安装方式这个文件所在的目录也会有所不同!要注意的就是如果location后面的路径以/结尾,那么alias也一定要以/结尾。但如果你跟着下面的教程,只需五分钟,即可搭建属于自己的静态资源服务器。这个nginx.conf是我们现在nginx在使用的配置文件。再输入cd /etc/nginx进入这个目录。...

2022-08-03 15:39:44 1969

原创 前端如何(不)能捕获到后端抛出的异常?

可以看到login方法成功受到响应后会执行then方法(其实不是),而then方法中没有任何的弹窗输出,那么很显然,是执行了catch语句。大概是因为我不会前端,思考了0.5秒,我的猪脑瞬间过载。也就是说前端其实应该并不也暂时没有什么捕获后端异常的能力,只是响应来到的时候,先是被拦截做了判断,如果状态码不是200,则在拦截中抛出reject,所以原来的login.then.catch就会执行catch。翻过了后端一个又一个类,一层又一层的包,最终我知道了,后端抛出异常后,拦截了异常,并返回错误提示。...

2022-08-02 02:31:13 2089 2

原创 浅学splay树

首先贴贴百度百科对splay树的定义:伸展树(Splay Tree),也叫分裂树,是一种二叉排序树,它能在O(logn)内完成插入、查找和删除操作。它由丹尼尔·斯立特Daniel Sleator 和 罗伯特·恩卓·塔扬Robert Endre Tarjan 在1985年发明的。在伸展树上的一般操作都基于伸展操作:假设想要对一个二叉查找树执行一系列的查找操作,为了使整个查找时间更小,被查频率高的那些条目就应当经常处于靠近树根的位置。于是想到设计一个简单方法,在每次查找之后对树进行重构,把被查找的条目搬移到

2022-04-21 21:33:32 360

原创 fastjson中使用toJSONString报fastjson java.lang.NoClassDefFoundErrord

试了三种方法第一种是将jar包导入到tomcat的lib目录中,依旧报错。第二种是导入到Web目录中的lib文件夹,依旧报错。最后更换到1.2.9版本的jar,成功解决。fastjson1.2.9下载地址链接:https://pan.baidu.com/s/1HGd-YxyisKYdM6rAwEAU2g?pwd=1234提取码:1234...

2022-02-16 01:26:24 724 3

原创 关于java的print中‘‘和“”的区别

先来看一段代码public class Main { public static void main(String avrs[]) { System.out.println(1+' '); System.out.println(1+" "); }}可以看到在写成1+‘ ’时,被解释成了1+(int)(char).而在写成1+" "时,才被解释成字符,这才是我们想要的结果,...

2021-12-17 15:05:39 1048

原创 java多种排序的实现,代码+注释

直接插入排序算法;希尔排序算法;起泡排序算法;快速排序算法;直接选择排序算法;堆排序算法;归并排序算法;import java.util.*;public class SqListSortClass { int capacity=10; int len=0; int data[]; public SqListSortClass() { data=new int[capacity]; } public void insert(int num) { data[len++]

2021-12-01 16:09:05 328 1

原创 括号表示法创建二叉树(递归实现)

public class Tree { treeNode root; int location=0; public Tree() { root=new treeNode(); } public void preorder(treeNode fa) { System.out.print(fa.data); if(fa.left!=null) preorder(fa.left); if(fa.right!=null) preorder(fa.right); } pu

2021-11-10 15:26:30 1980

原创 Codeforces Round #521 (Div. 3) D.Cutting Out

原题:https://codeforces.com/contest/1077/problem/D题意:根据给出的长度k,要求从原数列中找出一个长度为k且可以重复最多次的数列。思路:二分查找重复次数,每个数需要出现的次数就是他的个数除重复次数,比如1 3 1 3 10 3 7 7 12 3原数列中有4个3,当查找可重复2次的数列时,3就需要出现2次,即4/2.#include<iostream>#include<queue>#include<cmath>#in

2021-11-02 21:26:35 121

原创 牛客小白月赛23 B阶乘

对输入的p进行质因数分解,然后从阶乘中找到刚好拥有p的全部质因数个数的阶乘,直接输出就行了。#include<iostream>#include<cmath>#include<cstring>using namespace std;const int maxn = 1e5 + 5;int counts[maxn];int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); i

2021-10-18 20:03:47 100

原创 Java实现泛型(Double,Integer)比较数值大小

可以通过toString先转换成String,然后通过Double.parseDouble()转换成数字来比较大小.例子:public int minum() { if(size==0) { System.out.println("表中尚无元素!"); return -1; } E min=counts[0]; int l=0; for(int i=0;i<size;i++) { if(Double.parseDouble(counts[i].toS

2021-09-22 21:30:44 1286

原创 dijkstra堆优化

模板题:https://www.luogu.com.cn/problem/P4779思路:在原本的dijkstra算法中,每轮循环中,都需要从已经走过的点找出一条最短的边,从而确定下一个点。如果使用for循环来执行这一步,那么每次我们都需要执行n次。算法复杂度为O(n^2)。故可以使用堆来代替这一步,从而使算法复杂度降低为O((n+m)log2 ^ n)。这里我是使用了priority_queue来代替手写的堆,但是这个堆默认是大根堆,所以需要在入队时,把参数变负,以此来反转成小根堆。#include

2021-08-10 06:03:20 221

原创 线段树模板 P3372

#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<algorithm>#include<cmath>#include<queue>#include<stack>using namespace std;const int maxn = 4e5 + 5

2021-07-27 14:28:29 97

原创 洛谷 P1682 过家家

原题:https://www.luogu.com.cn/problem/P1682思路:用一个二维数组记录男女有没有吵嘴,然后两个女生联合的时候,顺便把吵嘴关系也转移,最后遍历一次吵嘴关系,记录最小值,最小值+k就是答案,注意答案上限是n。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<alg

2021-07-21 22:35:27 276

原创 被3整除的子序列

原题:https://ac.nowcoder.com/acm/problem/21302给你一个长度为50的数字串,问你有多少个子序列构成的数字可以被3整除答案对1e9+7取模根据题目意思,我们直接考虑使用dp。但是这个状态转移方程是真的不好想啊!我们都知道可以被3整除的数,其各位数和能被3整除,那么我们只需要记录前i位,各位数和%3的情况,最后输出dp[length][0]即为答案。#include<iostream>#include<queue>#include&

2021-06-04 17:44:02 136

原创 高精度加减法代码(带注释)

加法原题:https://www.luogu.com.cn/problem/P1601#include<iostream>#include<cstring>#include<string>#include<cmath>using namespace std;char c1[505], c2[505];int a1[505], a2[505], r[505];int main(){ cin >> c1 >> c2;

2021-05-10 20:27:15 278

原创 数塔(HDOJ 2084)

讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗?Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数,且所有的整数均在区间[0,99]内。Output对于每个测试实例,输出可能得到的最大和,每个

2021-04-29 21:45:34 179 2

原创 Oulipo

Oulipo直接魔改一下KMP即可,上我自己的代码,做保存。#include<stdio.h>#include<math.h>#include<iostream>#include<cstring>#include<string>using namespace std;char counts[10005];char counts2[1000005];int next1[10005];int total = 0;void get

2021-04-23 17:03:45 96

原创 欧拉函数初使用

暂时没有什么理解,只是记住了公式。欧拉函数:求1~n有多少个数与n互质公式F(n)=n*(1-1/p1)(1-1/p2)……(1-1/px);P为n的质因数;例如8只存在2这个质因数所以F(8)=8*1/2=4;而刚好1~8有1,3,5,7与8互质;#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#inc

2021-03-23 19:56:22 100

原创 挑战程序设计② 12.3深度优先搜索(个人注释代码)

#include<iostream>#include<stack>using namespace std;static const int N = 100;static const int WHITE = 0, GRAY = 1, BLACK = 2;int n, M[N][N], color[N], d[N], f[N], tt, nt[N];//d[N]用来存储节点是在第几次被访问,tt记录搜索次数。int next(int u){ for (int v = nt

2021-03-14 02:03:04 112 2

原创 石子合并(区间DP)

首先我们要知道区间DP是怎么运作的,我个人的理解认为它的原理和归并排序类似,都是把一个大问题拆成了无数个小问题,最后通过得到小问题的最优解反过来求大问题的最优解。题目:在一个圆形操场的四周摆放着n堆石子(n<= 100),现要将石子有次序地合并成一堆。规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。编一程序,读入石子堆数n及每堆的石子数(<=20)。求出做n-1次合并时,得分的最小值与最大值。输入:44 5 9 4输出:4354先附上代码#inc

2021-02-26 00:45:17 131

原创 挑战程序设计9.2 二叉搜索树——插入中root和NIl的问题

对着书看了很久没看明白下图这一步是怎么将二叉树初始化的可以看到root和NiL在定义的时候并没有初始化,本菜鸟以为它们应该是指向一个随机地址,但经过调试发现如下结果。虽然不知道为什么,但是root和nil同样指向了NULL,也就说在录入二叉树第一个数据时,并不会进入到第一个while循环中。这样一来就可以解释的通了。百度了半小时才知道,原来全局指针变量会默认初始化为NULL。。。。。。。醉了...

2021-02-25 02:20:12 169

原创 挑战程序设计竞赛8.2有根树的表达(个人注释代码)

本人大一初学,各位高手轻喷,欢迎交流。#include<stdio.h>#include<cmath>#include<algorithm>#include<vector>#include<stack>#include<map>#include<list>#include<ctime>#include<iostream>#include<cctype>#include

2021-02-23 22:42:00 115

空空如也

空空如也

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

TA关注的人

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