自定义博客皮肤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)
  • 收藏
  • 关注

原创 destor中部署redis(踩坑记录)

安装redis首先在服务器上安装redis,具体过程参照reids官网,最简单的方法就是curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/de

2022-05-13 11:15:55 361

原创 gdb调试和vscode调试

gcc编译: gcc -g -o a.out filename.ccmake编译:cmake -DCMAKE_BUILD_TYPE=Dubug2、启动gdbcgdbfile a.outstartstep(单步运行调试)list(列出当前代码)b 10 (在第10行打断点)watch a或者2用vs codedebug1、F52、修改json文件12行修改为可执行文件13行为传入的参数17行修改为false...

2022-03-03 11:55:58 337

原创 PACTree: A High Performance Persistent Range Index Using PAC Guidelines

Title: < PACTree: A High Performance Persistent RangeIndex Using PAC Guidelines>Source: <SOSP ’21, October 26–29, 2021, Virtual Event, Germany >School:SummaryWrite a summary about the paper (try to avoid using figures). It should address

2022-01-06 14:34:45 453

原创 markdown 模板

Title: <place your paper title>Source: <place the short name of the conference that your paper comes from>School:SummaryWrite a summary about the paper (try to avoid using figures). It should address the important issues of this paper (tr

2021-12-07 11:37:50 352

原创 Dash:Scalable Hashing on Persistent Memory

Abstract字节寻址的PM让哈希表具有低延迟,持久化代价低,立刻恢复的潜能。最近的英特尔的DCPMM的出现加速了这一趋势。很多新的哈希表算法被提出,但大部分都是基于仿真并且在真的PM上的效果是次优的,他们都是piece-wise.partitial 的方法(不知道什么意思,我估计是能在部分或者局部可以取得最优的效果),这些方法都规避了很多重要的特性 ,例如可测量性、高的载重因子和立即恢复的能力。我们提出了Dash,一种基于PM的功能全面的方法,建立一个动态可升级的哈希表。这个方法具有之前提到的所有的

2021-08-04 16:13:59 491

原创 如何通过windows文件系统访问wsl中的文件

在文件管理器的搜索中输入\wsl$就可以了

2021-03-12 15:17:10 526

原创 linux 解压bz2文件

使用linux 解压bz2文件命令:tar jxvf XX.tar.bz2如果tar不支持j选项,就用下面方式解压bzip2 -d XX.tar.bz2tar -xvf XX.tar.bz2

2021-03-04 11:02:45 4759 2

原创 学习destor(二)

继续do_delete.c结构体GCHashEntrystruct GCHashEntry{ uint64_t cid; Queue* chunk_queue;};函数void destructor(gpointer ptr)gpointer是Glib库中的结构体指针。destructor函数的作用是释放GCHashEntry中分配的空间,并释放GCHashEntry这个空间。void destructor(gpointer ptr){ struct GCHas

2021-02-17 12:11:07 767

原创 宽度优先搜索(一)

宽度优先搜索首先需要明确宽度优先搜索解决什么类型的问题,宽度优先搜索是用于解决在一幅图中找到从起点到终点的最近距离的问题。关键词:图,最短距离。深度优先搜索是栈结构,而宽度优先搜索是队列结构的。上框架:labaladong上的,不是我写的...

2021-02-16 15:41:55 360

原创 ftell,fseek,fwrite,fopen等用法

1. ftell函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。long ftell(FILE *stream);2. fwritefwrite() 是 C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。size_t fwrite(const void *ptr, size_t

2021-02-02 17:40:20 751

原创 学习destor(一)

从do_delete.c开始看什么是recipe为了找什么是recipe,首先需要先回到recipestore.h文件中,里面有一个结构体叫backupversion,这个backupversion我理解为处理指纹序列的模块,里面包含.meta,.recipe,和.record。在backupversion中是以FILE文件指针形式来表示这三个东西的,所以应该在delete之前应该已经写入了磁盘了,并不是常驻内存(猜测)。struct backupVersion { sds path; i

2021-01-23 18:34:06 1258

原创 c语言基础——指针(一)

数组作为函数参数传递,在函数内部改变数组的值,是会最终改变数组的值的当需要在函数内改变指针指向的内存块时,需要使用指向指向的指针作为函数参数,才能改变指针的指向

2021-01-21 15:28:34 555

原创 深度优先搜索(二)

N皇后问题用深度优先搜索,直接套用模板就好。注意mark函数和unmark函数mark函数把格子中的值-1,其中unmark函数,把格子中的值+1,为什么不是直接改变值,是因为有可能多个皇后都攻击那一个位置,如果直接改变值,那么可能会影响某个皇后的攻击范围。代码#include<iostream>#include<cstring>using namespace std;const int max_num=100;int n;int s[max_num][max_n

2020-12-28 10:51:44 97

原创 深度优先搜索(一)

深度优先搜索经大佬指导,才发现我对深度优先搜索的理解非常有问题,不过发现问题及时改正!先上深度优先搜索模板

2020-12-27 16:01:15 117

原创 动态规划(一)——矩阵连乘

矩阵连乘题目:给定 n 个矩阵 hA 1 ,A 2 ,…,A n i, 其中 A i 和 A i+1 是可乘的, i = 1,2,…,n − 1. 考虑这 n 个矩阵的连乘积 A 1 × A 2 × ··· × A n 的计算方法?首先可以暴力枚举,列举所有矩阵连乘的方法所需要的计算量,然后选出最小的那个一个,但是矩阵连乘的方法数很大,可以通过p2函数进行计算,见下列代码。计算矩阵连乘的方法数的公式为:int p2(int num)//num为矩阵个数{ if(num==1) { r

2020-12-25 18:40:44 1967 2

原创 分割子串

使用空格对子串进行分割一共两种方法手动while循环自动 ,使用stringstream头文件中的stringstream对字符串进行分割。#include<cstring>#include<vector>#include<iostream>#include<sstream>using namespace std;int main(){ vector<string> vec; vector<string> vec

2020-12-25 15:35:48 252

原创 排序(三)

归并排序今天写了最后一个排序算法,归并排序。归并是将两个或者两个以上的有序表组合成一个新的有序表。首先是两个两个元素进行归并,然后以两个元素排好序为一个单位,两个单位也就是四个元素进行归并,一次类推,这就是一个递归返回的过程。因此函数是递归调用的,首先将大表分为两部分,再将剩下的两部分再分为两部分,然后调用Merge函数,Merge函数的作用是将两部分的表合为一个有序表。空间复杂度是,辅助空间恰好占了n个单元,所以是O(n)时间复杂度:每一趟归并的时间复杂度是O(n),一共要进行O(log2n)..

2020-12-24 21:34:09 92 1

原创 排序(二)

冒泡排序冒泡排序很简单,将最大的数放在最后,或者将最小的数放在最前面即可。最好情况比较次数为n-1,移动次数为0,最好情况下的时间复杂度为O(n)最坏情况的时间复杂度为O(n^2 ) 平均时间复杂度为O(n^2)代码void bubble_sort(int num[],int n){ //将最大的数下沉 for(int i=0;i<n-1;i++) { for(int j=0;j<n-i-1;j++) { if(num[j]>num[j+1]) .

2020-12-23 21:52:44 101

原创 排序(一)

从小到大排序直接插入排序空间效率O(1)。最坏时间复杂度O(n^2),最坏的情况表中元素顺序和排序结果的元素顺序相反,比较次数为(2+3+…+n),总的移动次数为(3+4+…+n+1)。最好时间复杂度O(n),最好的情况是不需要移动,只需要比较一次,所以是O(n)直接插入排序是一种稳定的排序方法void insert_sort(int num[],int n){ for(int i=1;i<n;i++) { int tem=num[i]; if(num[i-1]>t

2020-12-23 08:43:43 92

原创 快读

快读今天做了几个题…但是都不知道错哪里?明天再仔细读大佬代码,然后看看自己错哪里了吧,而且在一题上花两个多小时,这么蠢的应该也就我了…后面一题明明是之前做过的dfs,当时为什么就想在那一题上死磕了呢,明天好好学习destor。今天学习到了快读inline int read() { char c = getchar(); int x = 0, f = 1; while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();} w

2020-12-20 22:33:31 89

原创 ubuntu18.04安装destor

安装destor前的准备工作虚拟机VMware和ubuntu18.04ubuntu可以下载阿里云的镜像,链接:http://mirrors.aliyun.com/ubuntu-releases/18.04/安装前需要下载的东西,这里我直接给出指令sudo apt-get updatesudo apt-get upgradeapt-get install libssl-devapt-get install build-essentialapt-get install zlib1g

2020-12-13 19:10:49 1466 5

原创 改变ubuntu终端显示语言

改成英文的export LC_ALL=C恢复为原来的unset LC_ALL

2020-12-12 09:56:07 243

原创 洛谷的题——12月10日^-^

P1002 过河卒棋盘上 AAA 点有一个过河卒,需要走到目标 BBB 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 CCC 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,AAA 点 (0,0)(0, 0)(0,0)、BBB 点 (n,m)(n, m)(n,m),同样马的位置坐标是需要给出的。题目链接:https://www.luogu.com.cn/problem/P1002我的思路:一开始我以为这是一道宽度优先搜索,但是

2020-12-10 20:56:20 135

原创 GCC编译调试入门——复习编译原理

g++使用今天突然对while(cin>>a)很好奇,用到gcc来编译,然后尝试objdump反汇编,记录一下学习了什么新知识,然后复习大三上学习的编译原理,我好菜qwq。C++的编译过程一个完整的C++编译过程(例如g++ a.cpp生成可执行文件),总共包含以下四个过程:编译预处理,也称预编译,可以使用命令g++ -E执行编译,可以使用g++ -S执行汇编,可以使用as 或者g++ -c执行链接,可以使用g++ xxx.o xxx.so xxx.a执行参考:https://

2020-12-09 16:23:20 220

原创 vmware中的ubuntu虚拟机固定ip

https://www.cnblogs.com/wuyizuokan/p/11185775.html

2020-12-09 11:57:59 144 1

原创 学习RISC-V指令 入门学习

1、RISC-V指令有六种指令格式:用于寄存器-寄存器操作的 R 类型指令,用于短立即数和访存 load 操作的 I 型指令,用于访存 store 操作的 S 型指令,用于条件跳转操作的 B 类型指令,用于长立即数的 U 型指令用于无条件跳转的 J 型指令所有的指令:对于每一个图,集合标志{}内列举了指令的所有变体,变体用加下划线的字母或下划线字符_表示。2、所有指令都是32位;RISC-V指令提供三个操作数寄存器,x86只有两个;RISC-V指令的所有的读写寄存器总是出现在指令的同

2020-12-08 11:07:29 1880 1

原创 深度优先搜索入门

今天做了两题最基础的穷竭搜索。1、其实这一题也可以暴力枚举,穷竭搜索是一样的,只是写成了递归的形式。每一个数只有选和不选两种情况,总共用2^n种情况。停止的条件是搜索到最后一个数,并且在搜索到最后一个数的时候判断是否和为k。dfs的参数为搜索到第i个数的i,和当前的和是多少sum。代码:#include<iostream>using namespace std;//深度优先搜索int n,k;int a[2000];bool dfs(int i,int sum){ if(

2020-12-07 17:47:09 1136

原创 xv6实验如何使用gdb调试

xv6实验的gdb调试启动方式有一点不一样首先需要在Makefile文件中加入gdb: riscv64-unknown-elf-gdb kernel/kernel在终端中输入make qemu-gdb,然后卡住到一个界面,记住tcp号为25000打开另一个终端2,切换到root,执行make gdb在终端2中敲target remote:25000,连接xv6调试在终端2中敲file 命令进入调试文件接下来就是gdb的调试了。。gdb如何调试下次再学,加油!参考https://b

2020-11-20 11:39:51 2936 2

原创 南京大学操作系统笔记(一)

南京大学操作系统学习笔记第三课 多处理器编程1.Non-deterministic Polynomial Complete NP难的问题2.线程共享那些部分a)全局变量b)Foo函数的代码共享3.线程独享的部分a)堆栈、寄存器独享4.写了malloc以后需要判断是否分配成功a)Assert()是偷懒的方法b)判断是否为NULL5.实验得到pthread库给每个线程分配8M内存6.C语言问题 (之前一直有,但是一直没深究)a)_tmain( int argc ,_TCHAR *ARG

2020-08-20 22:53:13 960

原创 安装虚拟机和kali

kali的安装小白做实验用到kali所以安装一下:到相应官网上下载 Linux 操作系统的 ISO 镜像包;安装虚拟化软件在 VMware Workstation 中安装 Kali 虚拟机(1)在 VMware Workstation 设置向导中选择“典型”图1.1 虚拟机设置向导(2)链接 Linux 系统镜像包图 1.2 连接系统镜像包(3) 指定磁盘容量图1.3 指定磁盘容量(4)选择图形界面安装图1.4 进入虚拟机安装步骤(5)选择语言,我选择了中文图1.

2020-08-20 22:49:09 144

原创 using namespace std

NamespaceUsing namespace std常用于c++编程中Namespace 是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中由于有了namespace,使用c++标准程序库的任何标识符时,可以有三种选择:1、直接指定标识符Std::cout<<std::hex<<3.4<<std::endl;2、使用using 关键字Using std::coutUsing std::endlCou

2020-08-20 22:39:56 87

原创 图灵杯

gold学长从昏迷中醒来以后发现自己被困在一个山洞里,他找了很久,终于找到一个门。门上写着:想要逃出去,只有一个办法 你可以选择一个数n,设m=1 * 2 * … * (n-1)。如果m是n的倍数,那么门就会自动打开,否则你就别想出去了。 gold学长内心充满了绝望,他想了一些数,但他不知道这些数能不能保证自己逃出去。你能帮助gold学长逃出生天吗?判断是否是素数,有一个坑,4应该是trappe...

2019-11-20 22:45:47 497

原创 内存分配-最佳适应和首次适应

操作系统实验课二题目:因为上次实验没有用链表,这次实验就做得超慢,唉,主要还是菜。本次实验踩到的坑(debug了好久呜呜呜):我先改变了p->next的指向的值,然后free(p->next),啊所以就找了好久的问题,其实都好基础,不应该错的。还有就是不要随便定义变量,不然都不知道在哪里改了这个变量的值。然后就是代码这个是定义的内存块struct memory_s { ...

2019-11-10 19:53:54 556

原创 递归下降分析LL(1)文法

今天做了编译原理实验【实验内容】(1)本分析程序所分析的文法如下:G[E]:E→eBaAA→a|bAcBB→dEd|aCC→e|dC(2)针对上述文法编写一递归子程序分析程序,该程序的输入是任意符号串,输出是本次输入的符号串是否是该文法的句子的结论。测试样例为:eadeaa#edeaebd#edeaeaadabacae#写了两个小时这个程序,我哭了。太菜了输入函数:vo...

2019-11-03 17:16:34 1611

原创 PL0语言词法分析

编译原理实验课,实现了词法分析,可以报错,可以报出具体在哪一行是什么内容

2019-11-02 20:44:13 966 1

原创 fwirte和fopen

fopen,fwrite用法,以及为什么只写4k的解决方法

2019-10-01 14:58:01 319 1

原创 猴子分

问题描述:动物园里的n只猴子编号为1,2,......n,依次排成一队等待饲养员按规则分桃。动物园的分桃规则是每只猴子可分得m个桃子,但必须排队领取。饲养员循环的每次取出1个,2个,3个.....k个桃子放入筐中,由排在队首的猴子领取。取到筐中的桃子数为K后,又重新从1开始。当筐中桃子数加上队首猴子已经取得的桃子数不超过m时,队首的猴子可以全部取出筐中桃子。取得的桃子总数...

2018-10-13 10:44:02 490

空空如也

空空如也

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

TA关注的人

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