- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 MIT6.828实验记录-Lab2
实验1完成了内核启动的相关操作,由实验1可知,首先BIOS(0xf0000~0x100000=64KB)将Boot Loader加载到0x7c00~0x7dff(512B)处,Boot Loader代码执行后将内核代码的ELF文件读取到0x100000其实的内存(1MB)实验2为当前的操作系统编写内存管理相关代码。实验要求完成两个组件:第一个组件是内核的,使内核能够分配和释放内存。分配器将以4KB为单位分配物理内存,称为页。
2023-09-10 09:30:41 404
原创 parsec-3.0 安装报错(__mbstate_t)
在Ubuntu18.04安装 parsec-3.0 报错,错误情况及其处理方法如下:Error1:POD document had syntax errors at /usr/bin/pod2man line 71.Solution1: 修改文件名mv /usr/bin/pod2man /usr/bin/pod2man-back//如果之后再用到该文件,在将名字换回去//mv /usr/bin/pod2man-back /usr/bin/pod2manError2:er.
2022-03-20 21:53:26 1643 1
原创 win10 C盘突然少了许多空间解决办法
1、删除系统升级产生的文件C盘右键-->属性-->磁盘清理-->清理系统文件-->选中升级日志-->确定2、清除系统睡眠文件 左下角窗口右键-->打开Windows PowerShell(管理员)-->在打开的窗口中输入powercfg -h off-->重启...
2022-01-11 22:46:59 5970
原创 VMware虚拟文件(.vmdk)瘦身(宿主为Windows)
如果你的guest系统不是以single disk方式建立的,而是以分散文件建立的,随着虚拟机的使用,会发现安装目录下出现许多.vmdk文件,为此,需要对众多.vmdk进行瘦身,这就需要借助VMware目录下的vmware-vdiskmanager.exe工具。1、打开guest主机(例如:ubuntu),在终端输入:cat /dev/zero > zero.fill直到guest主机出现内存不足(可能会导致系统关机,重启即可),之后在终端输入:rm -rf zer...
2021-08-26 09:46:36 4368
原创 1007 Maximum Subsequence Sum (25 分)-C语言题解
Given a sequence ofKintegers {N1,N2, ...,NK}. A continuous subsequence is defined to be {Ni,Ni+1, ...,Nj} where1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For exampl...
2021-07-19 21:43:36 202
原创 1004 Counting Leaves (30 分)——resolve
A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child.Input Specification:Each input file contains one test case. Each case starts with a line containing0<N<100, the number of nod.
2021-07-08 09:11:15 77
原创 近似求解一个正数的算术平方根
计算正数n的算术平方根,公式:,程序开始输入正数n,,通过循环不断求解,当,跳出循环,得出最接近算数平方根的值。求解程序如下:///近似计算一个数的算数方根——参考书籍《C和指针》#include<stdio.h>#include<stdlib.h>int main(){ float new_guess; float last_guess; float number; printf("Enter a number:"); scanf("%f",&numb
2021-05-24 21:06:50 294
原创 C语言指针操作总结
总结了C语言中指针的相关操作,为便于理解,建议逐句比较,有问题也麻烦帮忙指正。#include<stdio.h>int main(){ int i,j,s[3]={1,2,3}; ///1、用指针访问一维数组 int *p=s; ///p是一个指向元素类型为整数的数组的指针 for(i=0;i<3;i++){ ///printf("%d %x\n",s[i],&s[i]);///输出数组每个元素的内容以及.
2021-05-03 17:33:39 148
原创 快速排序算法(C语言)
#include<stdio.h>///交换函数void swap(int v[],int i,int j){ int temp=v[i]; v[i]=v[j]; v[j]=temp;}/// 快速排序函数-递归void qsort(int v[],int left,int right){ int i,last; if(left>=right){ ///若数组包含的元素数少于两个,不执行任何操作 return ; .
2021-04-29 17:46:45 157
原创 希尔排序算法(C语言)
#include<stdio.h>///希尔排序-缩减增量排序void shellsort(int v[],int n){ int i,j,gap,temp;///gap记录步长 for(gap=n/2;gap>0;gap/=2){ for(i=gap;i<n;i++){ for(j=i-gap;j>=0&&v[j]>v[j+gap];j-=gap){ temp=.
2021-04-28 19:47:23 145
原创 向虚拟机中的Ubuntu传收文件
Windows10中VMware Workstation中安装Ubuntu、Centos等后,需要向其中传输文件时可以通过以下几种方法:1、在VMware Workstation安装有VMware Tools的情况下可以直接将文件通过拖拽方式传送到Ubuntu,通常这种方式传输速度较慢,且可能会出现卡死的情况。如果文件较大将文件进行压缩后在进行传输。2、通过安装虚拟终端XSHELL,链接虚拟机中的Ubuntu借助lrzsz进行文件传输,具体步骤如下:①安装XSHELL,学校和家庭版本即可满足需求
2021-04-21 21:06:42 5764 1
原创 C语言用于交换两个数值的方法
#include<stdio.h>///亦或法实现交换int swap_1(int *a,int *b){ *b=*a^*b; *a=*a^*b; *b=*a^*b;}///加法交换int swap_2(int *a,int *b){ *b=*a+*b; *a=*b-*a; *b=*b-*a;}///中间值交换int swap_3(int *a,int *b){ int t=*a; *a=*b; *b=t;.
2021-04-08 10:33:44 238
原创 C语言中的制表符\t
直接认为C语言中制表符\t表示8个空格符是不准确的,实际上制表符的作用是使光标定位到一个新的位置,新位置之前的输出占用的列数为8的倍数,即将光标移动至最接近8倍的地方,使之后的输出从光标处开始进行。1、当\t之前的字符所占输出列数在0~7时,将光标定位至第9列。2、当\t之前的字符所占输出列数在8~15时,将光标定位至第17列......验证程序:#include<stdio.h>void main(){ printf("123456781234567812345678\n
2021-04-05 10:12:08 18927 4
原创 Linux中如何删除与命令选项相同的文件
举个简单例子,我在linux创建一个test.c文件,借助gcc指令进行编译,不小心把生成的文件名设为了-sgcc -o -s test.c当去尝试删除时,会发现-s被误认为选项,所以出现无法删除的情况。解决方法: 退回到上一级目录,添加路径名删除rm file/-s 其中file为-s所在目录...
2021-03-24 23:02:14 115
原创 1088 三人行 (20 分)——简单分析
子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1000 的正整数。输出格式:在一行中首先输出甲的能力值,随后依次输出甲、乙、丙三人与你的关系:如果
2021-03-15 23:24:07 145
原创 1085 PAT单位排行 (25 分)-题解C++
每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式:输入第一行给出一个正整数 N(≤105),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息:准考证号 得分 学校其中准考证号是由 6 个字符组成的字符串,其首字母表示考试的级别:B代表乙级,A代表甲级,T代表顶级;得分是 [0, 100] 区间内的整数;学校是由不超过 6 个英文字母组成的单位码(大小写无关)。注意:题目保证每个考生的准考证号是不同的。输出格式:首先在一行
2021-03-14 19:42:09 162
原创 十进制大整数转二进制
来自牛客网上的一道算法题题目描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入描述:多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出描述:每行输出对应的二进制数。分析:题目要求输入最多30位,因此不能用数值型数据,而是要将输入的数据看做字符串然后将输入的十进制数字逐位进行计算。代码:#include<bits/stdc++.h>using namespa
2021-03-08 00:17:26 967
原创 VMware Workstation中的centos黑屏问题
前几天在VMware Workstation重装了一下centos,启动时出现了一个问题,首次安装时,centos正常启动,而当下次使用时点击开机却一直黑屏,始终启动不起来,一开始以为虚拟机出了问题,又重新安装了一次,但是,安装好centos后再次启动出现同样的问题,找到centos的安装目录,看了一下错误日志,具体如下:2021-03-06T22:01:14.548+08:00| vmx| I125: FILE: FileCreateDirectoryRetry: Non-retriable err
2021-03-06 22:31:24 1043
原创 1073 多选题常见计分法 (20 分)——简单分析
批改多选题是比较麻烦的事情,有很多不同的计分方法。有一种最常见的计分方法是:如果考生选择了部分正确选项,并且没有选择任何错误选项,则得到 50% 分数;如果考生选择了任何一个错误的选项,则不能得分。本题就请你写个程序帮助老师批改多选题,并且指出哪道题的哪个选项错的人最多。输入格式:输入在第一行给出两个正整数 N(≤1000)和 M(≤100),分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(
2021-03-05 22:29:06 205
原创 编程语言——简介
1、C语言C语言(Combined Language)是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。它既具有高级语言的特点,又具有汇编语言的特点,能以简易的方式编译、处理低级存储器。仅产生少量的机器语言,不需要任何运行环境便能运行。2、C++C++ 是一种中级语言,进一步扩充了C语言。擅长面向对象的程序设计,也可以进行面向过程的程序设计。C++中引入类,支持数据封装和数据隐藏,支持继承和重用,支持多态性。3、 JAVAJava是一门面向对象、跨平台的编程语言,不仅吸收.
2021-03-04 22:32:43 356 1
原创 1067 试密码 (20 point(s))——简析及测试点问题
当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式:输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N(≤10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少有一次尝试。当读到一行只有单个 # 字符时,输入结束,并且这一行不是用户的输入。输出格式:对用户的每个输入,如果是正确的密码且尝试次.
2021-02-25 00:08:56 560 3
原创 1062 最简分数 (20 分)——关于分数之间比较
一个分数一般写成两个整数相除的形式:N/M,其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数N1/M1和N2/M2,要求你按从小到大的顺序列出它们之间分母为K的最简分数。输入格式:输入在一行中按N/M的格式给出两个正分数,随后是一个正整数分母K,其间以空格分隔。题目保证给出的所有整数都不超过 1000。输出格式:在一行中按N/M的格式列出两个给定分数之间分母为K的所有最简分数,按从小到大的顺序,其间...
2021-02-22 22:08:42 121
原创 1060 爱丁顿数 (25 分)-解题思路简析
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(≤N)。输入格式:输入第一行给出一个正整数N(≤),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离。输出格式:在一行中给出N天的爱丁顿数。输入样例:106 7 6 9 3 10 8 2 7 8输出样例:6拿...
2021-02-22 00:04:12 300 1
原创 最大子列和问题
在计算机科学中,最大子数列问题的目标是在数列的一维方向找到一个连续的子数列,使该子数列的和最大。举一个最简单的例子,给出数组{-4,2,-1,5}求解它的最大子列和。常规思路逐一寻找,具体步骤如下:①寻找长度为1的子列:{-4},{2},{-1},{5}。数列和分别为:-4,2,-1,5②寻找长度为2的子列:{-4,2},{2,-1},{-1,5}。数列和分别为:-2,1,4③寻找长度为3的子列:{-4,2,-1},{2,-1,5}。数列和分别为:-3,6④寻找长度为4的子列:{-4,2,-
2021-02-18 19:27:22 459
原创 1051 复数乘法 (15 分)——测试点2,3分析
今天去pta练手,卡在了一道15的题目上,话不多说先看一下题目复数可以写成(A+Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2=−1;也可以写成极坐标下的指数形式(R×e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式R(cos(P)+isin(P))。现给定两个复数的R和P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个复数的R1,P1,R2,P2,数字间以空格...
2021-02-17 20:50:39 345
原创 1049 数列的片段和 (20 分)_测试点2分析
1049 数列的片段和 (20 分)给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这 10 个片段。给定正整数数列,求出全部片段包含的所有的数之和。如本例中 10 个片段总和是 0.1 + 0.3
2021-02-09 16:39:28 333 2
原创 C++中关于length()返回值问题
今天在AC一道编程题目时,出现了这样一个关于C++中length()函数的用法的问题。测试代码如下:#include<bits/stdc++.h>using namespace std;int main(){ string s1="1234567"; string s2="12345678"; cout<<s1.length()-s2.length()<<endl; return 0;}以上述代码为例,都知道s1.lengt
2021-02-09 12:50:44 7490
原创 动态数组解决哈夫曼树问题
优先队列实现小根堆解决哈夫曼树问题北邮考研复试的一道真题,借助优先队列实现小根堆解决求解哈夫曼树的权值问题的方法。之前自己也没有接触过此类用法,整理下来,希望对各位有帮助。题目描述哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和的最小值。输入描述:输入有多组数据。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)
2021-02-01 21:19:22 485
原创 C++中map的使用技巧
练习算法,看到了一个灵活运用map(map<key,value>)的题解,在此,回顾一下map相关操作。1、map内的键值对按照键(key)升序排列。2、map的插入是一种不可覆盖的,如果map中已经存在某个key值(只查看key 不考虑value值),则不能继续进行插入。执行插入后会返回一个 pair<iterator,bool> 对象, 第一个参...
2020-04-21 19:01:51 406
原创 网络安全1-3
声明:练习仅可在靶场,不可用于非法操作。封神台靶场练习之↓第三章 这个后台能识别登录者… 【抓包和CSRF伪造】先看一下题目要求:按照要求进入题目靶场:随便点开一条新闻动态:根据题目要求,管理员登录端口为admin123,因此,修改url如下:http://59.63.200.79:8004/admin123回车,出现了管理员的登录界面在上一...
2020-04-05 10:40:25 295
原创 网络安全1-2
声明:练习仅可在靶场,不可用于非法操作。封神台靶场练习之↓第二章 遇到阻难!绕过WAF过滤!1、检测是否存在sql注入点点击网页一个动态:url:http://59.63.200.79:8004/shownews.asp?id=171 and 1=1在地址栏输入上述url(url:之后的部分)可以看出靶场对部分sql语句进行了过滤,因此再次采用order...
2020-03-30 10:19:45 527
原创 网络安全1-1
声明:练习仅可在靶场,不可用于非法操作。最近学习了一下网络安全的入门的相关操作,无意中找到了一个叫做封神台的靶场,搭配里边的教程学习了一下,感觉还是不错的,虽然大学学习了一些关于密码学的知识,在实际操作时,还是有一定的难度,初学者,经验能力还不够,写一篇文章记录一下。第一章 辛巴猫舍(简单sql注入)点击查看新闻11、检测一下是否有sql注入点http://117.1...
2020-03-23 11:02:20 1100
原创 L3-010 是否完全二叉搜索树
将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多...
2020-03-19 15:28:00 318
原创 动态规划——最长公共子序列与最长公共子串
最长公共子序列给定两个字符串,按照字符串顺序(下标递增)找出两个字符串所包含的相同字符所组成的最长子序列,子序列的元素在原来字符串中的下标不一定连续,但一定递增。最长公共子串给定两个字符串,按照字符串顺序(下标递增)找出两个字符串所包含的长度最长的公共的字符串,即找出一个字符串,两个给定的字符串都包含且长度最大。举一个例子:假设现有字符串 s1="cosdenn" s...
2020-03-12 23:04:18 219
原创 L3-004 肿瘤诊断
在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。输入格式:输入第一行给出4个正整数:M、N、L、T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵。最大分辨率是1286×128);L(≤60)是切片的张数;T是一个整数阈值(若疑似肿瘤的连通体体积小于T,则该小块忽略不计)。最后给出L张切片。每张用一个由0和1组成的...
2020-03-07 16:34:10 250
原创 L3-003 社交集群
当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友。一个“社交集群”是指部分兴趣爱好相同的人的集合。你需要找出所有的社交集群。输入格式:输入在第一行给出一个正整数 N(≤1000),为社交网络平台注册的所有用户的人数。于是这些人从 1 到 N 编号。随后 N 行,每行按以下格式给出一个人的兴趣爱好列表:Ki:hi[1]h...
2020-03-04 18:50:21 457
原创 并查集
定义: 并查集是一种特殊的数据结构,主要用于动态维护若干不重叠的集合。顾名思义,它包含两部分,一部分是合并,另一部分是查找。模板: 1、首先,定义一个数组,用于记录一个数据集群中的各个元素之间的关系:int pre[maxsize];///pre[i]表示,元素i归属于集群pre[i]2、对数组中的元素进行初始化,使每个元素归属于自己:void Ini...
2020-03-04 18:38:11 105
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人