自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 链表算法题

链表算法题//Node 定义 public static class Node { //值 public int value; //下一个节点 public Node next; public Node(int v) { value = v; }快慢指针1.奇数长度返回中点,偶数长度返回上中点 public static Node midOrUpMidNode(Node head) { // if (head == null || head.next ==

2024-03-28 16:50:48 121 1

原创 计算机网络知识

第一章局域网广播技术;广域网交换技术n-SDU+n-PCI=n-PDUTCP/IP网络层无连接,传输层有链接和无连接;OSI传输层有链接和无连接,网络层有链接TCP/IP没有明确区分服务,接口,协议,OSI明确区分OSI物链网(通信子网)淑慧视用(资源子网)物理层:不加头部,透明传输比特数据链路层:帧网络层:数据报传输层:报文段或用户数据报;端到端,进程到进程会话层:话筒(会话同步)表示层:用户数据处理转换应用层:界面第二章奈:无噪声2WlogV香:有噪声Wlog2(1+10(

2024-03-28 16:50:17 992

原创 操作系统知识

第一章并行、并发时分复用:分成时间片取用-虚拟处理器空分复用: 空间切换调度-虚拟内存联机命令接口:交互式命令接口,分时实时系统脱机命令接口: 批处理命令接口。程序接口:系统调用,广义指令调用发生在用户态,执行发生在内核态多道批处理:并发(宏观串行,微观并行);没有交互分时:交互硬实时:必须正确特权指令:内核态下才能执行的指令访管指令(陷入指令):用户态下执行,切换用户态到内核态内(指令内)中断(异常、陷入):缺页除零外(指令外)中断:时钟中断中断会发生变态,子程序调用不会,所

2024-03-28 16:50:03 522

原创 java 集合

/ 修改无意义,不会影响数组的元素值。ArrayList底层是基于数组实现的:根据索引定位元素快,增删需要做元素的移位操作。底层数据结构是双链表,查询慢,首尾操作的速度是极快的,所以多了很多首尾操作的特有API。底层数据结构是双链表,查询慢,首尾操作的速度是极快的。数组类型确定、长度固定,可存储基本类型和引用类型。迭代器用迭代器的remove删,索引倒序删。集合类型不固定、长度可变,只存储引用类型。List: 有序、可重复、有索引。Set:无序、不重复、无索引。有索引,带着索引的增删改查。

2024-03-28 16:48:45 268

原创 预训练-LLM

先从通用数据训练得到基本的语言生成能力,再定向微调。某种任务只存在非常少量的相关训练数据。处理成Xtuner所需要的数据格式。选择XTuner 支持的模型。使用Xtuner做预训练。按需修改config文件。

2024-03-25 11:21:09 118

原创 git基本使用

git configgit cofig user.namegit config user.emailgit config user.email "[email protected]仓库-文件夹mkdir 1801git initcd .git/ssh-keygen.exe -t rsa 生成公钥电脑和github相连新写了文件git status 展示了没有提交的文件添加单个文件到暂存区 git add git add . 添加所有文件git commit 提交到本地仓库git r

2024-03-25 10:18:37 853

原创 java知识

保存字符串的数组被 final 修饰且为私有的,并且String 类没有提供/暴露修改这个字符串的方法。String 类被 final 修饰导致其不能被继承,进而避免了子类破坏 String 不可变。对于三者使用的总结:操作少量的数据: 适用 String单线程操作字符串缓冲区下操作大量数据: 适用 StringBuilder多线程操作字符串缓冲区下操作大量数据: 适用 StringBuffer泛型类 泛型方法 泛型接口。

2024-03-25 10:17:27 618

原创 learning vim

Normal mode : exexute commandsx:delete the currenth;👈j:👇k:👆l:👉w: to the begin of the next wordb: to the begin of the last wordword hopping; ctrl + arrow keysdd or shift + v +d :delete the current lineyy: copy a lineu: undo the last actionp: pas

2022-11-08 12:15:23 205

原创 golang 并发模式

并发模式

2022-09-02 16:53:15 116 1

原创 Golang并发模式

并发模式

2022-09-02 11:44:42 139

原创 go传统的同步机制

Lock()unLock()通过匿名函数,创建一个让锁生效的代码区lock和d efer unlock在该函数体内生效

2022-09-01 22:59:06 114

原创 TypeScript- Promise

[

2022-06-11 22:16:07 1030

原创 TypeScipt -回调函数

-

2022-06-10 23:30:05 1997

原创 GO语言的依赖管理

依赖的三个阶段:GOPATH, GOVENDOR, GO MOD所有的依赖都去GOPATH环境变量里去找,使得GOPATH越来越大,会将所有的第三方包放在src之下GOPATH/src/GitHub.testGOPATH/src/project1在自己的项目目录下新建一个叫做vendor的文件夹,存放依赖包,解决了不同的包依赖不同版本的问题GOPATH/src/project1/vendor。对目录的要求很高项目目录下go build ./… :将该目录下的所有文件都buildgo mod init

2022-06-03 10:50:35 2368

原创 ACWING-844-走迷宫

广度优先#include <bits/stdc++.h>using namespace std;typedef pair<int,int> PII;const int N = 110;int n, m;int g[N][N]; //地图int f[N][N]; //距离PII q[N*N]; //模拟队列int n,m;void bfs (int a, int b){ queue<PII> q; q.push({a,...

2022-05-28 10:29:40 67

原创 ACWING-843-n 皇后问题

难点:正反对角线的坐标表示#include <iostream>using namespace std;const int N = 20;int n;// g[N][N]用来存路径char g[N][N];// col列, dg对角线, udg反对角线bool col[N], dg[N], udg[N];void dfs (int u) { // 递归终止, 搜了n行 if (u == n) { // 输出 for ...

2022-05-22 14:27:58 110

原创 ACwing-841-字符串哈希

比较不同区间的子串是否相同,就转化为对应的哈希值是否相同X1X2X3⋯Xn−1Xn 的字符串,映射公式 (X1×Pn−1+X2×Pn−2+⋯+Xn−1×P1+Xn×P0)modQ通过巧妙设置P (131 或 13331) , Q 64的值,一般可以理解为不产生冲突区间和公式 h[l,r]=h[r]−h[l−1]×Pr−l+1如何理解理解该...

2022-05-19 16:01:30 163

原创 Acwing-840-模拟散列表

关键:数组模拟链表的遍历// 840. 模拟散列表#include <cstring>#include <iostream>using namespace std;const int N = 1e5 + 3;int n;// h[]是哈希函数的一维数组int h[N]; // e[]是链表中存的值int e[N]; // ne[]是指针存的 指向 的地址int ne[N]; int idx;void insert(int x) { ...

2022-05-17 01:25:05 235

原创 ACwing-836-合并集合-并查集

/* Acwing 836 并查集*/#include <iostream>using namespace std;const int N = 100010;int p[N];// 查找根节点int find(int x){ // 只有根节点满足p[x] == x,递归查到根 if(p[x] != x) p[x] = find(p[x]); return p[x];}int main(){ // 1. 输入n, m int...

2022-05-01 14:41:39 128

原创 并查集知识点

2022-04-28 13:35:10 192

原创 ACWing- 800 -数组元素的目标和

如下图方式进行遍历。与纯粹暴力的双重循环做法相比,j指针不会回退,代码如下#include <iostream>#include <algorithm>using namespace std;const int N = 1000010;int n, m, x;int a[N], b[N];int main(){ // 1. 按照规则输入 scanf("%d%d%d", &n, &m, &x); for (int...

2022-04-23 22:49:58 108

原创 ubuntu 20.04 yarn 全局安装 ---安装完reboot一下

官网链接:https://classic.yarnpkg.com/en/docs/install#debian-nightly问题描述:npm install --global yarn安装以后路径不可用,显示不在bin之下在我辗转反侧csdn, stackoverflow, github,腾讯云以后发现reboot一下就行了记录一下错误,如果有人看到希望能帮他少花费点功夫。毕竟配环境还是挺让人脑袋大的、、、、...

2022-04-21 21:29:23 311 2

原创 ACwing-830-单调栈

在这里插入代码片

2022-04-19 10:48:15 98

原创 Acwing-数组中的逆序对788-巧用归并的流程中

#include <iostream>using namespace std;typedef long long ll;const int N = 100010;int n;int q[N],tmp[N];LL merge_sort(int l, int r){ if(l >= r) return 0; int mid = l + r >> 1; LL res = merge_sort(l,mid) + merge_sort(m...

2022-04-17 14:17:05 52

原创 ACwing-786-第k个数-快排思想

快排思想的运用。因为快排每次可以确定一个元素的最终位置,那么只要确定了第k个数字的位置,递归就可以结束了。// 第k个数#include <iostream>using namespace std;const int N = 100010;int n, k, a[N];int quickFind (int l, int r, int k) { // 1. 前半部分和快排完全相同: 找到第k个位置了 if (l == r ) return a[r]; ...

2022-04-16 12:17:02 74

原创 Acwing位运算-801-二进制1的个数

小例子

2022-04-12 08:34:43 205

原创 Acwing-799-最长连续不重复子序列

创建一个数组s[N]去记录[j,i]之间元素出现的次数,当出现重复元素就记录当前长度,然后移动j,直到元素不再重复#include <iostream>using namespace std;const int N = 100010;int n;int a[N],s[N];int main(){ // cin >> 变量名,输入给谁 cin >> n; for (int i = 0; i < n; i ++) cin &...

2022-04-11 21:37:26 87

原创 ACwing-797-差分

解析https://www.acwing.com/solution/content/26588/#include<iostream>using namespace std;const int N = 1e5 + 10;int a[N], b[N];int main(){ int n, m; scanf("%d%d", &n, &m); for (int i = 1; i <= n; i++) { //...

2022-04-11 15:33:18 199

原创 Acwing-796-子矩阵的和

把矩阵s[i][j]存起来计算公式: s[i][j] = s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];// 796. 子矩阵的和 #include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1010;int n,m,q;ll a[N][N], s[N][N];int main(){ scanf("%d%d%d", &n,...

2022-04-11 08:09:35 152

原创 ACwing-795-前缀和

数组求个和记录下来,拿去用。关键// 2. 记录s[i]for (int i = 1; i <= n; i ++) s[i] = s[i-1] + a[i];// 4. 算一下printf(“%d\n”, s[r]-s[l - 1]);#include <iostream>using namespace std;const int N = 100010;int n,m;int a[N], s[N];int main(){ scanf("%d%d",..

2022-04-10 15:36:21 45

原创 ACwing-794-高精度除法

高精度思路都类似,就计算的时候,每一位的处理上有差别#include <iostream>#include <vector>#include <algorithm>using namespace std;vector<int> div(vector<int> &A, int b, int &r){ vector<int> C; r = 0;// 从数组的最高位-数字的最高位 for (in...

2022-04-10 14:56:59 192

原创 ACwing-793-高精度乘法

A的每一位去和b相乘,有点分配律的感觉#include <iostream>#include <vector>using namespace std;int main(){ // 1. 输入 string a; int b; cin >> a >> b; vector<int> A; // 2. 个位放在索引0的位置 for (int i = a.size() - 1; i...

2022-04-10 09:39:27 51

原创 ACwing-792-高精度减法

仍然是逆序存储保证大数减去小数减法有借位规则#include <iostream>#include <vector>using namespace std;const int N = 1e6 + 10;int main (){ // 1. 用字符串读进来 string a , b; // 2. 存储到vector里面去 vector<int> A, B; cin >> a >>..

2022-04-09 15:52:51 109

原创 ACwing-791-高精度加法

都存在数组里,每一位每一位相加#include <iostream>#include <vector>using namespace std;const int N = 1e6 + 10;int main (){ // 1. 用字符串读进来 string a , b; // 2. 存储到vector里面去 vector<int> A, B; cin >> a >> b; // 3. ..

2022-04-09 13:58:38 94

原创 Acwing-790-数的三次方根-浮点数二分

简单的二分问题,通过缩小l和r (即r-l < 1e-7) 将所求的结果夹出来#include <iostream>#include<iomanip>using namespace std;// 1. 声明左右边界,并且赋值double l = -10000;double r = 10000;double mid = (l+r)/2;int main(){ double num; cin>>num; while(r ..

2022-04-08 08:13:53 68

原创 ACwing-789-数的范围-二分

二分最重要的两段性,即数据可以按照某种标准区分开,而不是单调性如果我们要找红色的边缘点mid = (l+r)/2 取中间值;如果中间值符合红色的性质,则说明红色的边缘点在[mid,r]范围里,更新l = mid, mid有可能是我们要找的边缘点;如果中间值不符合红色性质,则说明点在[l, mid -1]里,更新r = mid -1.如果我们要绿色的边缘点mid = (l + r)/2取中间值如果中间值符合绿色的性质,则说明绿色的边缘点在[l,mid]范围里,更新r = mi.

2022-04-07 20:19:45 114

原创 BITCOIN AND CRYPTOCURRENCY TECHNOLOGIES - chapter 1 -Introduction

Chapter 1In fiat currencies, law enforcement is necessary for stopping people from breaking the rules of the system.Howerver,Cryptocurrencies need to be enforced purely technologically and without relying on a central authority.传统法定货币(fiat currencies)

2022-04-06 21:12:28 6818

原创 Goland设置自动引入所用到的库 import

刚学习go没多久,记录下碰到的问题…File->Settings->Tools->FileWatchers->goimports然后等待他下载一会儿编程时候就自动引入所需要的库了,编程体验翻倍

2022-04-05 13:53:42 3613

原创 ACwing-787-归并排序

代码亲测可AC归并排序:将两个分别有序的序列,合并成一个有序序列#include <iostream>using namespace std;const int N = 100000000;int n;// 归并需要额外的辅助数组int q[N], tmp[N];void merge_sort(int q[], int l, int r){ if ( l >= r) return; int mid = l + r >> 1; // 1.

2022-04-04 21:22:51 86

原创 ACwing-785-快速排序

确定分界点、枢轴元素 x = q [l + r >> 1]调整区间递归给左边排序,递归地给右边排序// 挑战模式,代码可AC# include<iostream>using namespace std;const int N = 1e6 + 10;int n; int q[N];void quick_sort(int q[], int l, int r){// 1. 终止条件 if (l >= r) return;// 2. 单次 .

2022-04-04 11:33:57 57

空空如也

空空如也

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

TA关注的人

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