自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lineng's blog

记录做题感想

  • 博客(59)
  • 收藏
  • 关注

原创 CSAPP学习笔记——虚拟内存(二)

当fork函数被父进程调用时,内核就为子进程创建各种数据结构,并分配了唯一的PID(task_struct),然后为了给这个进程创建虚拟内存,它创建了父进程的mm_struct、vm_area_struct和页表的原样副本给子进程的地址空间(因为父进程和子进程的代码和数据都有一模一样的,区别在于调用fork函数后跳转的部分不同)。虚拟地址A时合法的吗?一个对象被映射到虚拟内存的一个区域,可以是共享对象也可以是私有对象,一个进程对一个共享对象的任何写操作其他进程也都会看见,并且会作用在磁盘的原始对象上。

2023-02-19 20:53:08 611 1

原创 CSAPP学习笔记——虚拟内存(一)

实际上,如果一级页表是空的,相应的二级页表就根本不会存在,就像上图中的PTE2-7都是空的,也就没有相应的二级PTE,这就代表着巨大的潜在节约,因为对于一个程序而言,4GB的虚拟地址空间的大部分都是未分配的。在32位下,我们构造的二级页表的第一级有1024个PTE,第一级的每个PTE对应1024个二级PTE,每个二级PTE对应一个4KB的页,也就是1024个一级PTE就能覆盖。如果出现TLB miss的情况,MMU会从SRAM中取出相应的PTE,新的PTE存放在TLB中,可能会覆盖一个已经存在的PTE。

2023-02-16 20:48:05 446

原创 CS144-Lab0解析

我们要完成的任务是实现一个类似于管道的数据结构ByteStream,这个channel有两端,一端是input side,负责向channel中输入字符串,另一端是output side,负责从channel中读取字符串并且取出来,在抽象的数据结构中来看,是指在input side终止了输入的前提下,output side从channel中读取完了所有的字符串,此时ByteStream中的数据为空,并且不会再有数据输入。这几个类的介绍,就能很快的完成这个程序,其实只需要看。的骨架代码中完成我们的实现。

2022-12-19 01:20:35 1348

原创 CSAPP-Lab5 CacheLab解析

读取矩阵A时,会缓存A0、A1两个4x4的分块,如果只是单纯的4x4分块中,A1的缓存是会被浪费的,在这里为了充分利用缓存,我们把A1也存到矩阵B中相同位置上,但我们知道这个位置是错误的,所以用本地变量把此时矩阵B分块的右上角的4x4分块存起来。次,我们讨论分块大小该怎么设置:变大后的矩阵,原来的缓存只够存下4行,如果分块超过4行,那么矩阵内部就会出现重叠。来说,是行读取,步数为1,每个block的第一个元素会miss,后面7个都会hint,即每8个元素miss一次,一行n个元素,miss。

2022-12-18 17:58:26 614

原创 CSAPP-Lab2 BombLab解析

node是什么结构?我们发现和这两句指令把一个地址常量存进寄存器,通过对。

2022-12-16 16:24:53 791

原创 C++——隐式类型转换

先看一下隐式类型转换如何发生吧:我们定义了一个很简单的类,它的构造函数使用了默认参数(),这时main函数里的两句都触发了构造函数的隐式调用很显然,函数需要的是类型的参数,而我们传入一个数据,这个程序能够成功运行,并且成功输出说明隐式调用了构造函数。另外需要注意的是,在对象刚刚定义的时候,使用赋值操作符,调用的是构造函数,而不是运算符这种悄然发生的事情,有时可以带来便利,让你的程序可以继续运行,而更多的会带来很多意想不到的结果,关键字用来避免这样的情况发生c++11中对explicit的解释为指定构造函数

2022-12-03 12:02:05 1813 2

原创 C++11——“=default“和“=delete“函数特性

​ 这些类的特殊成员函数负责创建、初始化、销毁或者拷贝类的对象。​ 如果程序员没有显示的为类定义某个特殊成员函数,而又需要用到该特殊成员函数时,编译器会地为这个类生成一个默认的特殊成员函数;​ 而如果程序员显示的定义了某个特殊成员函数,编译器将不会自动为你生成默认的构造函数了,如果还想用默认构造函数,就需要自己手写,如果变量很多的话这将会很麻烦。​ c++11标准因此引入了新特性:default函数。程序员只需在函数声明后加上”=default;

2022-11-28 22:32:45 832

原创 C++——new和delete关键字

new和delete不是函数,和sizeof一样都是C++定义的关键字,不同的是sizeof在编译时就可以确定其返回值,而new和delete相对复杂示例这里就可以看出new和malloccmalloc申请完空间后不会对内存进行必要的初始化,而new可以new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,即new是类型安全性的操作符;而malloc内存分配成功后返回的是void*,需要通过强制类型转换,将通用类型指针void*转换成所需要的指针new。

2022-11-28 21:35:34 526

原创 4274. 后缀表达式-二叉表达式树

原题链接

2022-07-01 00:10:27 422

原创 Git命令中的一些细节

文章目录项目初始化.git目录解析Git remote连接远程仓库Git常见命令下.git目录的变化Refs追溯历史版本修改历史版本Git GCGit Clone & Pull & FetchGit Push分支管理类工作-Github Flow项目初始化mkdir democd demogit init其他参数--initial-branch 自定义初始化的分支,不一定是master--bare 创建一个裸仓库(纯git目录 没有工作目录)--template 可以通过模

2022-05-26 22:02:49 728

原创 Ubuntn下的Golang配置(踩坑无数)

下载Go官方下载地址如果之前下载过Go,请先卸载GOROOT的位置,一般时/usr/local/go:sudo rm -rf /usr/local/go下载好后,在下载文件的根目录下打开终端执行下面的语句,意思是把下载的压缩包,解压到/usr/local下:sudo tar -C /usr/local -xzf go1.18.2.linux-amd64.tar.gz解压完后,在/usr/local下可以看到有go文件夹,里面的内容就是下载的压缩包里的这些都完成后,可以通过运行go ve

2022-05-17 21:55:42 337

原创 Gin框架结构分析

前言我们先用go中的net/http包实现web服务package mainimport ( "fmt" "net/http")func main() { http.HandleFunc("/hello", handler) err := http.ListenAndServe(":9090", nil) if err != nil { fmt.Println("http server failed, err:%v \n", err) return }}// http

2022-05-13 17:07:19 1282

原创 ArcGIS Engine-ILayer接口及其子接口IFeatureLayer

ILayerILayer is a generic interface for all layer objects. This interface has a method to draw the layer and provides access to generic layer properties.This interface has a method to draw the layer and properties to define the minimum and maximum dis

2022-05-02 15:09:39 2040

原创 ArcGIS Engine-鹰眼图的实现

实现鹰眼图的功能需要两个AxMapControl控件,我们就让axMapControl1作为主视图,axMapControl2作为鹰眼图,在窗体中的摆放位置可以自定义,我是用SplitContainer将Form分割开来:实现鹰眼图前需要明白鹰眼图的功能:鹰眼图是主视图的缩略图,鹰眼图是主视图的全局视图主视图的当前视图对应鹰眼图中的红框范围鼠标可以点击鹰眼图,主视图对应转换成以点击位置为中心的视图,也可以在鹰眼图上拖出显示范围整个过程的消息传递机制:axMapControl1加载主图时,触

2022-04-24 15:17:33 2762

原创 ArcGIS Engine-IActiveView和ArctiveVIew.PartialRefresh官方描述

IActiveViewThis interface manages the main application window in ArcMap and all drawing operations.该接口管理ArcMap中的主应用程序窗口和所有绘图操作。In ArcMap, two objects implement this interface: PageLayout and Map. These two objects correspond to the two different vie

2022-04-23 16:56:06 829

原创 C#-基于TreeView和ListView的简易版文件管理器

TreeViewTreeView控件利用层次结构向用户展示一系列相关信息。利用TreeView控件,可以把相关信息组织成易于管理的块。在TreeView控件中显示的每个数据项(节点)都对应于一个TreeNode对象。该对象的Nodes属性为一个集合,包含该对象下属的所有子节点。TreeView控件中每个节点都有一个标题和两个可选图像,这两个图像分别用来图形化节点的选中或未被选中状态,使用图像需ImageList控件支持。由Windows资源管理器可知,在运行时TreeView控件的层次结构中任何节点都

2022-04-22 22:24:11 1645 2

原创 C#-窗体元素的拖拽实现

​ 拖拽操作其实与剪切与粘贴没有什么不同,只不过是它是使用鼠标而不是键盘,在两类操作中,都会有一个来源(被拖拽、被剪切的文字)和目标(拖往的、被粘贴的位置)。无论哪种操作,都会在内存中存在数据的一份副本,在剪切操作中会使用到剪切板,而在拖拽操作中,会使用到DataObject对象,这个DataObject对象就好比是一个私有的剪切板在应用程序中,是通过一系列事件,如DragEnter,DragLeave和DragDrop事件来实现在Windows应用程序中的拖拽操作。注意:只有当控件的AllowDr

2022-04-22 17:27:09 3691

原创 Arcgis Engine-图层控制与地图操作

基础图层控制添加图层/*@path:表示shape文件的文件夹路径@fileName:表示shape文件的文件名*/object.AddShapeFile(Path,fileName);代码示例string CurrentPath = Directory.GetCurrentDirecoty();Directory.SetCurrentDirectory(CurrentDirectory + "\\..\\..\\..\\data\\world");string FilePath

2022-04-19 19:29:35 1615

原创 Arcgis Engine——ICommand

ICommand​在ArcEngine类库中有大量的Command控件用来与地图控件进行操作和交互。比如有一系列的地图浏览控件、地图查询控件、图斑选取控件、编辑控件来与MapControl和PageLayoutControl进行交互。这些控件被包含ESRI.ArcGIS.Controls.dll类库中,位于ESRI.ArcGIS.Controls命名空间下。​ 这些内置的Command控件可以单独实例化来使用,也可以被安置在一个AxToolbarControl工具栏控件中,继而被存放在一个Comman

2022-04-19 11:05:55 494

原创 预测模型对比

灰色模型 适用范围: 该模型使用的不是原始数据的序列,而是生成的数据序列。核心是对原始数据作累加生成得到近似的指数规律再进行建模; 数据是以年份度量的非负数据(如果是月份或季度数据最好用时间序列模型) 数据能经过准指数检验 数据的期数较短且和其他数据之间的关联性不强(小于等于10,大于等于4) 优点:通过较少的数据就能得到不错的预测结果;能发现原本无规律的数据中的隐藏规律 缺点:只适用于中短期的预测,只适合近似指数增长的预测(经过改进的灰色模型,如新陈代谢G

2022-04-13 11:59:00 2857

原创 元胞自动机

元胞自动机是复杂系统研究的一个典型方法,特别适合用于空间复杂系统的时空动态模拟研究。不同于一般的动力学的模型,元胞自动机不是由严格定义的物理方程或函数组成,而是用一系列模型构造的规则构成,或者说是方法框架五个最基本条件包含元胞cellcellcell的规则和网格LatticeLatticeLattice GridGridGrid。空间被离散成网格,元胞分布在网格中的各个格子里.离散的时间步长。元胞状态的改变是定义在两个时间步之间的,同一个时间步内,元胞的状态的固定的。每个元胞的状态数是有限的.

2022-04-12 19:27:06 1513

原创 L2-004 这是二叉搜索树吗? (25 分)

原题链接https://pintia.cn/problem-sets/994805046380707840/problems/994805070971912192分析本题主要考察了二叉搜索树(二叉排序树)的性质:二叉排序树的左子树全部小于根节点,右子树全部大于等于根节点,同理,二叉排序树的每个非叶子结点都满足 T:在判断所给序列是否是前序序列时就用这个性质判断,因为前序是先根再左再右,所以每个二叉排序树的前序遍历数组(1~n)都会满足:从第二个位置开始都比第一个位置(根节点)小,直到遇到第一个

2022-04-05 15:21:07 975

原创 P1004 [NOIP2000 提高组] 方格取数 - 四维dp

方格取数原题链接https://www.luogu.com.cn/problem/P1004通过题意我们可以可以看出这是一道动态规划的题,第一想法是用二维的话只能dp出最大值的路径,再用一次二维dp求出次大值的路径,这样的想法是错误的!题目要求的是两条路径走到右下角的和的最大值!如果是按照刚刚的想法,先求最大值的路径,再求次大值的路径,最大值确实是最大值,但是次大值就不一定了,为了走出最大值就不得不让次大值小。可以自己举个例子看看。 也就是说这两步不能分成两次规划,要让和的...

2022-04-03 19:06:09 787

原创 1212. 地宫取宝 - 四维dp

1212.地宫取宝 原题链接https://www.acwing.com/problem/content/1214/对于一些基础的二维的动态分析( f[i][j] ),在题目添加了很多限制条件后会变得很复杂,而这时我们可以考虑增加状态方程的纬度,来简化问题。本题中并不像其他题让你输出走到右下角后的和最大值,而是要求走到右下角后手中要有k件物品,即限制了在走的过程中对考虑对物品捡与不捡 捡物品也不是想捡就捡,只要当手中的所有物品的最大价值C都比当前位置的物品的价值小才可以捡本题要求的是输出走到右下

2022-04-03 18:40:18 134

原创 四平方和(空间换时间+优化思维)

原题链接对于这道题,一开始肯定会想到最最最暴力的方法,就是四重循环,毫无疑问这个会tle,但不代表这种思路就是错的,做任何题一下就想到最优方案很难,都是想到一个似乎可行的方案(通常就是暴力),然后开始逐步思考去做优化,而优化无非就是时间换空间,空间换时间对于题目中的a,b,c,da,b,c,da,b,c,d,可以知道最大为10310^3103级别,也就是说对这四重循环,我们优化到两重循环就能过而时间效率的提高,意味着空间的损耗,我们发现,对于ddd每循环一次,对内部的两层循环c,dc,dc,d,每次都

2022-03-30 21:01:40 234

原创 表达式转换 (25 分)

算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。输入样例:2+3*(7-4)+8/4输出样例:2 3 7 4 - * + 8 4 / +

2022-03-30 16:33:52 78

原创 L1-046 整除光棍 (20 分)

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程

2022-03-17 19:38:55 69 1

原创 AcWing1248 灵能传输

原题链接https://www.acwing.com/problem/content/1250/Code#include <iostream>#include <algorithm>#include <cmath>#include <cstring>using namespace std;const int N = 3e5+10;typedef long long ll;int t,n;ll a[N];ll s[N];bo.

2022-03-14 22:21:15 131

原创 D.背单词的小智(二分)

题目描述小智在刚刚结束的 CET-4 考试中顺利通过了!现在,他要开始备战 CET-6 了。可是,他的单词功底太差了,于是他准备开始摆烂背单词。可是,人脑的能力是有限的,小智的大脑每一天都会有一个记忆的上限,如果超过这个上限,再多的单词也记不下了。有一天,小智在背单词的时候想到了一个问题,你能帮帮他吗?小智一共有n个单词需要背,第ii个单词所拥有的「精神值」为。小智每天的记忆力都是有上限mm的。如果小智在第ii天内背完了[l,r]内的单词,那么这些单词将会占用小智...

2022-03-13 10:55:21 595

原创 Git基础

Git基础工作原理:WorkSpace:工作区Index / Stage:暂存区 git addRepository:仓库区 git commitRemote:远程仓库初始化git config --global user.name "lihua"git config --global user.email "[email protected]"一. 创建版本库版本库(仓库repository):在这个文件夹里所有的文件都能被Git管理起来,文件的修改,删除,Git都能跟踪,以便可以追踪

2022-03-08 16:16:26 574

原创 1295. X的因子链----算术基本定理/多重集合排列数/欧拉筛

原题链接https://www.acwing.com/problem/content/1297/算术基本定理任何数都能质数积表示:e.g.一个数的最长表示方法就是:质因子从小到大多重集合的排列数问题以上面例子的为例,问2个2和3个3和1个5有多少种排列数,首先我们可以知道总的组合数为6!个,将所有的组合分组,不同的组代表不同的组合,例如2 2 3 3 3 5 和 2 3 3 3 2 5就是不同的组,我们要求的排列数实际就是有多少个组。因为2和3有重复,所以每个组都有个重复的方案,

2022-03-06 12:15:29 121

原创 1207. 大臣的旅费—树的直径

题目链接求树的直径(树中最长的距离)任意取一个点x,求其到其他所有点的距离,最远距离的为y 再求y到其他所有点的距离,此时最远距离就是答案可以用反证法假设y点不是直径的端点证明上述结论,因为点到点之间的路径是一定的,所以可以用dfs或者bfs求距离,如果是图的话就用Dijkstra或者Floyd算法求补充:边数=n-1就是树(无环图),边数<n-1连通块 边数>n-1有环图AC Code#include <iostream>#include <vect

2022-03-04 23:55:06 52

原创 数列区间最大值-RMQ/线段树/树状数组

题目输入一串数字,给你 M 个询问,每次询问就给你两个数字 X,Y,要求你说出 X 到 Y 这段区间内的最大数。输入格式第一行两个整数 N,M 表示数字的个数和要询问的次数;接下来一行为 N 个数;接下来 M 行,每行都有两个整数 X,Y。输出格式输出共 M 行,每行输出一个数。数据范围1≤N≤1051≤N≤10^51≤N≤105,1≤M≤1061≤M≤10^61≤M≤106,1≤X≤Y≤N1≤X≤Y≤N1≤X≤Y≤N,数列中的数字均不超过231−12^{31}−1231−1Sol

2022-03-01 19:42:06 394

原创 AcWing 1214. 波动数列 -动态规划

对于本题我们可以列出下列等式:x+(x+d1)+(x+d1+d2)+...+(x+d1+d2+...+dn−1)=sx+(x+d_1)+(x+d_1+d_2)+...+(x+d_1+d_2+...+d_{n-1})=sx+(x+d1​)+(x+d1​+d2​)+...+(x+d1​+d2​+...+dn−1​)=s其中,d={+a,−b}d=\{ +a,-b\}d={+a,−b},变形得:nx+(n−1)d1+(n−2)d2+...+dn−1=snx+(n-1)d_1+(n-2)d_2+...+d_

2022-02-28 15:51:34 204

原创 K倍区间-前缀和进阶

给定一个长度为 N 的数列,A1,A2,…ANA_1,A_2,…A_NA1​,A2​,…AN​,如果其中一段连续的子序列 Ai,Ai+1,…AjA_i,A_{i+1},…A_jAi​,Ai+1​,…Aj​ 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。你能求出数列中总共有多少个 K 倍区间吗?输入格式第一行包含两个整数 N 和 K。以下 N 行每行包含一个整数 Ai。输出格式输出一个整数,代表 K 倍区间的数目。数据范围1≤N,K≤100000,1≤AiA_iAi​≤1

2022-02-25 11:46:00 135

原创 打表法-空间换时间

以例题为讲解背景:题目 四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去,就正好可以表示为 4 个数的平方和。比如:5=02+02+12+225=0^2+0^2+1^2+2^25=02+02+12+227=12+12+12+227=1^2 + 1^2+1^2+2^27=12+12+12+22对于一个给定的正整数,可能存在多种平方和的表示法。要求你对 4 个数排序:0≤a≤b≤c≤d并对所有的可能表示法按 a,b,c,d 为

2022-02-23 20:23:24 71

原创 数据查找与数据清洗

数据问题数据查找直接用关键词在百度和谷歌上搜索——引入到某个数据源网站在ResearchGate上搜索北大数据平台查相关文献的支撑材料(论文中所用到的数据)英文文献可以用sci-hub免费下载(doi码)数据清洗缺失值清洗确定缺失值范围缺失率 / 重要性高低高1.尝试从其他渠道补充数据2.使用其他字段通过计算获取3.去除字段,并在结果中表明去除该字段低1.通过计算进行填充2.通过经验或业务知识估计不做处理或简单填充去除不需要的字段填充

2022-02-23 19:47:50 200

原创 带分数(嵌套dfs)

原题链接#1 纯暴力搜索算法流程:利用next_permutation得到数组1-9的每种排列情况,用暴力双重循环来遍历出介于数组之间的任意两个位置(夹板),从而将数组分成三部分,分别为a,b,c,再判断a.b.c是否符合要求,记录个数要点:对于计算一个数组中任意位置之间的数字,采用下列代码可以很好解决,l为起点,r为终点int calu(int l, int r){ int res=0; for(int i=l; i<=r; i++) res =

2022-01-17 16:44:22 400

原创 多元线性回归分析(Stata)

回归分析的介绍与分类回归分析的任务是:通过研究自变量X和因变量Y的关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的三个关键字:相关性、因变量Y、自变量X常见的回归分析有五类(划分的依据是因变量Y的类型): 线性回归:因变量Y为连续性数值变量,例如GDP的增长率 0-1回归:因变量Y为0-1型变量,例如P2P公司研究借款人是否能按时还贷,那么Y可以设计为二值变量,Y=0时代表可以还贷,Y=1时代表不能还贷 定序回归:因变量Y为定序变量,例如1表示不喜欢,2.

2022-01-14 10:25:23 45731 1

原创 深度学习笔记(一):卷积神经网络CNN

卷积层卷积核Kernel步幅Stride填充Padding多通道上的卷积激活函数卷积函数转置卷积池化层池化的三种方式局部池化全局池化????卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,通过也包括关联权重和池化层(Pooling Layer)-用于手写识别的一个比较简单的卷积神经网络,由卷积层(Conv2d)、池化层(MaxPool2d)和全连接层(Linear)叠加而成import torch.nn as nnim

2021-12-25 11:13:19 1686

空空如也

空空如也

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

TA关注的人

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