自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷 P1099 [NOIP2007 提高组] 树网的核

洛谷 P1099 [NOIP2007 提高组] 树网的核自己对于答案区第一个答案代码的理解做法:1、两次dfs求得直径2、在直径上尺取求满足长度小于等于s,且端点到直径端点最小的路径,最小值记为ans3、标记直径为访问过,dfs直径上的点,求其树枝的长度4、ans和直径上点的树枝长度取最大值,即为所求分析:1、直径有多个时,任意取一个做上述操作都可以,这个证明还不会。。。2、满足长度小于等于s,且端点到直径端点最小的路径一定是所求的路径。证明:如下示意图图,假设AB是直径,CD是一段路径,

2022-01-21 12:14:50 461

原创 图论:具有至少两个顶点的简单无向图中一定存在度相同的结点

图论:具有至少两个顶点的简单无向图中一定存在度相同的结点设有n个节点,则每个节点的度数只能取0,1,2,3,。。。,n-1,因为如果某个点的度数取n,则一定存在自环或者重边。下面分情况讨论:1、如果存在大于等于2个节点度数为0,结论显然成立2、如果仅存在1个节点度数为0,则剩余n-1个节点度数不能取n-1(否则存在自环或者重边),则由抽屉原理,n-1个节点度数在1,2,。。。,n-2这n-2个数中取,必然存在两个节点度数相等3、如果不存在度数为0的节点,则n个节点的度数在1,2,。。。,n-1这

2022-01-10 10:41:31 4236

原创 ceres Analytic Derivatives

ceres Analytic Derivativesceres是一个非线性最小二乘的库其中主要求解方式有Analytic Derivatives,AutoDerivatives & Numeric Derivatives这三种。AutoDerivatives最常用也最方便使用,Analytic Derivatives在雅各比矩阵计算上可能会快于AutoDerivatives,所以在某些地方可以使用Analytic Derivatives来加速优化过程。Analytic Derivatives需

2021-10-15 21:51:03 267

原创 Mac上vmfusion ubuntu无法复制粘贴的解决办法

Mac上vmfusion无法复制粘贴的解决办法1、如果你是刚刚在vmfusion中装好ubuntu,那么你应该需要安装vmtools,然后在主机/系统便好设置/安全性与隐私里面给一些权限2、如果你是已经安装了vmtools,但是复制粘贴还是不能用,可以试试:sudo apt-get install open-vm-tools-desktop所有的选项都选yes,安装完重启。...

2021-10-03 13:44:11 2009 1

原创 CSAPP shlab

CSAPP shlab实验要求模拟一个轻轻量级的shell,实现内置指令quit,fg,bg,jobs,或者运行指定路径下可执行文件。框架大部分已经搭建好,我们只需要编写:函数eval:读入键入的命令行,做语法解析并执行相应命令函数builtin_cmd:辨认是否为内置指令,如果是则执行函数do_bgfg:执行内置指令bg和fg函数waitfg:终端需要等待前台程序执行sigchld_handler:SIGCHLD信号处理,这是子进程管理的关键部分sigint_handler:SIGINT信

2021-08-21 09:50:05 383

原创 CSAPP perfab

CSAPP perfabPart Arotate实验,把nxn的正方形图片逆时针旋转90度,这是一个内存敏感的程序,优化的主要思路是分块(和cachelab很像)。由于图片的边长都是32的倍数,所以我们选择块大小为4,8,16,32去尝试哪一种性能更好,最终选择为16x16的块Part Bsmooth实验,这是一个计算敏感的程序,优化的主要思路是:1、去掉不必要的过程调用:可以看到,为了处理边缘点,原程序用了很多min和max判断好处就是代码简洁,坏处就是影响性能CPE。我们分别处理4个角点,

2021-08-10 19:58:14 417

原创 CSAPP cachelab

CSAPP cachelabPart A编写一个缓存的模拟器,要求从命令行读入参数,从文本文件读入内存记录,输出对于缓存的hit,miss和evict其中,当E不为1时,替换策略是LRU (least-recently used),即最久没有用过的行被替换掉。注意编程时不用考虑内存请求的数据超过一个块的界限,即我们只需要考虑组索引和标志位匹配就可以。下面的代码思想就是用一个simTime记录访问内存的时间,用来做LRU替换#include "cachelab.h"#include <get

2021-08-04 23:18:48 276

原创 CSAPP archlab PartC

CSAPP archlab PartC主要的优化点:1、在指令集中加入iaddq,这样一些常数的加减只需要一个指令,而不是先把常数放到寄存器中再加减2、使用循环展开,我是使用了8路展开。当数组长度越大时,循环展开的路数越大,效果肯定越好3、执行读写操作时数据相关的气泡mrmovq (%rsi), %r8rmmovq %r8, (%rdi)第一条指令从memory中读数到r8,第二条指令r8再写到内存中。但是第二条指令在译码时,第一条指令正在执行阶段,还没有到访存,所以不知道r8的值,因此第二

2021-07-28 11:11:01 522

原创 CSAPP练习题5.5和5.6 课后习题答案解释

CSAPP练习题5.5和5.6看到这篇文章的一定是对练习题5.5和5.6的课后习题答案有疑惑的人。铺垫我就不多说了,直接上我自己的理解吧。我认为课后习题的答案应该是没有问题的,可以这么去理解1、首先,对于5.5题的代码,CEP是5result += a[i] * xpwrxpwr = x * xpwr假设a[i] * xpwr的计算结果保存在tmp中,大部分人的疑惑肯定是a[i] * xpwr和x * xpwr计算需要5个周期,然后算完的结果tmp再加回到result中,那不就是8个周期吗。

2021-07-25 11:06:33 1587 9

原创 CSAPP attacklab

CSAPP attacklabattacklab总共有5个小实验,主要是围绕CSAPP这本书的3.10节内容展开,即缓冲区溢出攻击。缓冲区溢出攻击:调用其他过程时当前%rip会存放在运行时栈上,通过缓冲区漏洞,可以修改ret时的%rip,使其指向恶意代码处。实验的第一部分有3个小实验,主要是在ctarget上完成,代码没有任何缓冲区溢出保护:主要指每次运行ctarget,栈地址是不变的,所以code-injection(CI)十分容易进行。主要方法是利用gdb调试工具,查看运行时栈的地址,然后就可以

2021-07-15 22:50:30 480

原创 CSAPP-bomb实验

CSAPP-bomb实验纪念一下bomb实验看汇编代码感觉要注意以下几点:1、一个过程开头一般是sub sp,用来分配栈空间2、然后保存寄存器3、如果过程A中还调用了其他过程B,那么在调用前会有参数的传递;可以配合过程B的代码和过程A中的参数传递看懂寄存器的意义4、以$开头的是立即数,就是10进制数,下文中有6304464这样的数作为地址偏移量,(我一开始以为是16进制)这个地址加8就是6304472phase10000000000400ee0 <phase_1>://从地址4

2021-06-17 21:32:43 517

转载 树莓派WIFI网络设置与SSH远程连接

树莓派WIFI网络设置与SSH远程连接(ubuntu server)下面的操作针对新烧录的SD卡,需要有显示器和键盘。一般把新卡插到树莓派上,连接好键盘和显示器,然后供电,pwr指示灯会一直常亮红灯,表示供电正常;act灯会间断闪烁,表示正在从SD卡上读取文件。这样的状态表明一切正常。然后显示屏上就会有输出信息。如果装的是ubuntu server系统,初始的账号和密码都是ubuntu。登陆上之后:1、设置连接WIFI1)查询网络接口WIFI一般以w开头,一般都是wlan0ls /sys/c

2021-03-26 11:07:27 711

原创 算法导论(22.1-6)-基本图算法-有向图的通用汇点

算法导论(22.1-6)-基本图算法-有向图的通用汇点题目描述:给定图G的邻接矩阵表示,给出一个O(v)时间的算法来判断有向图G是否存在一个通用汇点。通用汇点是指入度为|V|-1且出度为0的结点。思路:首先可以证明一个有向图G如果有通用汇点,那么他仅有一个。假设有两个,则根据定义(入度为|V|-1),这两个结点必定互通的,这就违反了定义(出度为0),矛盾!然后下面这个算法尝试寻找一个可能的候选结点://i表示行,j表示列int i = 0;int j = 0;//从(0,0)开始搜索,如果当

2021-03-20 14:25:18 544 1

原创 px4与gazebo的多无人机编队仿真,offboard模式

px4下基于ros和gazebo的多无人机编队仿真,offboard模式单机的offboard仿真见https://blog.csdn.net/weixin_43409270/article/details/114585397多机仿真1、修改launch文件在/PX4-Autopilot/launch目录下,找到multi_uav_mavros_sitl.launch文件,添加无人机和配置通信端口可以直接复制文件中已有的配置文件,比如下面照片中是multi_uav_mavros_sitl.laun

2021-03-12 20:08:01 4311 16

原创 PX4下gazebo 仿真 offboard模式(ubuntu18.04)

PX4下gazebo 仿真 offboard模式(ubuntu18.04)1、ros与gazebo安装这里不多说了,上网找教程或者按照ros官网教程安装完成ros-melodic的完整版,gazebo也会自带安装好。2、px4安装这里也有官网教程https://docs.px4.io/master/en/getting_started/3、offboard control环境源码方式安装建立catkin工作空间mkdir -p ~/catkin_ws/srccd ~/catkin_wsc

2021-03-09 17:06:01 1960 2

原创 最长公共子序列(LCS)与最长递增子序列(LIS)

最长公共子序列(LCS)与最长递增子序列(LIS)最长公共子序列(LCS)问题描述:已知两个序列x1,x2,...xn{x_1,x_2,...x_n}x1​,x2​,...xn​与y1,y2,...ym{y_1,y_2,...y_m}y1​,y2​,...ym​,求出它们最长的公共子序列,即max{k},满足:a1<a2<...<aka_1 <a_2<...<a_ka1​<a2​<...<ak​b1<b2<...<bkb_1

2021-03-03 23:24:13 262

空空如也

空空如也

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

TA关注的人

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