自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

a1351937368的博客

OI选手Lpy_Now的小窝

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

原创 微表情识别综述总结

可以将面部表情分割为肌肉的各个部分的运动,这个被称为AUs即运动单位,AUs可以有效地解决个体表达的歧义问题,并且能够提高微表情识别的性能。

2023-07-22 21:03:43 1779 1

原创 树和二叉树

树和二叉树题目重点1.无法确定树或者二叉树的形状,自然而然也无法确定只有一个子节点的子树有多少2.先序中序后序序列是对于根节点而言的,叶子结点的顺序保持不变3.对于一个有N个结点、K条边的森林,可以确定它共有几棵树4.对于哈夫曼树,越远离根节点,任一非叶子结点的权值等于自己孩子的节结点权值之和,大于等于下一层任一结点的权值5.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序不发生改变...

2020-12-11 13:47:23 290

原创 数组和广义表

数组和广义表文章目录数组和广义表1.广义表 ( (a, b), c, d, e) 的表头和表尾分别是(C)。2.广义表是一种(B)数据结构。3.一个广义表为 ( a, (b, c), d, (), ((f, g), h) ),则该广义表的长度与深度分别为(D)。4.广义表与稀疏矩阵都是线性表的扩展,它们的共同点为(D)。5.广义表L = (a,(a,b),c,d,((i,j),k))的长度和深度为(D)。6.适用于压缩存储稀疏矩阵的两种存储结构是:(B)7.稀疏矩阵在计算机中通常采用(D)来表示。8.稀疏

2020-12-10 17:40:23 1034 1

原创 KMP算法

KMP算法文章目录KMP算法1.实现过程图2.部分匹配表的计算3.代码实现KMP算法是常用的字数穿查找匹配算法指以,以下对此算法的介绍源于阮一峰的博客(部分摘自阮一峰老师的博客)1.实现过程图举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?首先字符串“BBC ABCDAB ABCDABCDABDE”的第一个字符与搜索词“ABCDABD”的第一个字符,进行比较,因为B与A不匹配,所以搜索词后移一位因为B和A不匹配,所

2020-12-09 11:33:50 288

原创 栈和队列

栈和队列1.队列​ 定义:形如我们排队买票,第一个站队的人第一个买票一样,一个可以控制变量先进先出的结构体里,我们称之为队列​ 队列是一种特殊的线性结构,它只允许在队列的首部删除,称之为出队,队列尾部插入,称之为入队,当队列中没有元素的时候,我们称之为空队列​ 队列的应用是在SPFA算法或者BFS等需要先来先走的情况(比如扩展节点等)2.栈​ 定义:栈又名堆栈,它是一种运算受限的线性表,其限制是仅允许在表的一段进行插入和删除运算,这一端被称为栈顶,相对的,把另一端称为栈底,向一个栈插入新元素称

2020-12-08 17:55:20 151

原创 一元多项式求导

一元多项式求导设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0标程#include<map>#include<list>#include<cmath>#include<que

2020-09-27 21:13:33 296

原创 一元多项式的乘法与加法运算

一元多项式的乘法与加法运算设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22

2020-09-27 20:36:03 563 1

原创 顺序表区间元素删除

顺序表区间元素删除若一个线性表L采用顺序存储结构存储,其中所有的元素为整数。设计一个算法,删除元素值在[x,y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1)。输入格式:三行数据,第一行是顺序表的元素个数,第二行是顺序表的元素,第三行是x和y。输出格式:删除元素值在[x,y]之间的所有元素后的顺序表。输入样例:105 1 9 10 67 12 8 33 6 23 10输出样例:1 67 12 33 2标程#include<map>#inc

2020-09-27 20:31:17 2160

原创 求链式线性表的倒数第K项

求链式线性表的倒数第K项给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7标程​ 单链表版#include<map>#include<list>#include<cm

2020-09-27 20:26:50 565 1

原创 两个有序链表序列的交集

两个有序链表序列的交集已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 2 5 -12 4 5 8 10 -1输出样例:2 5标程#include<map>#include<list&gt

2020-09-27 20:22:38 638

原创 两个有序链表序列的合并

两个有序链表序列的合并已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10标程#include<map>#i

2020-09-27 20:20:06 1126

原创 算法时空复杂度分析

文章目录算法时空复杂度分析0.为什么要学习算法时空复杂度分析1.理论2.分析方法3.大O复杂度表示法4.多项式量级复杂度5.时间复杂度分析的简单规则6.两种时间复杂度7.常见的时间复杂度8.空间复杂度分析9.不同情况下的复杂度分析10.算法时间复杂度与数据规模11.总结算法时空复杂度分析0.为什么要学习算法时空复杂度分析算法的复杂度估算是计算机中很重要的一块内容,通过复杂度分析我们可以估算程序和算法的运行时间,使用内存,随着输入数据的规模变大的增长规律,从而分析一个算法的优劣算法分析在竞赛中的实际意

2020-09-01 20:29:55 3101

原创 OpenCV-4.3.0 Windows版本下载

鉴于opencv官网国内访问比较慢并且下载速度比较慢,放出百度云链接:链接:https://pan.baidu.com/s/1nhENtegV-FdeaLR_F0bEiw提取码:ldlr

2020-07-03 19:22:34 2127 1

原创 山东科技大学2020年6月15日实验题解

山东科技大学2020年6月15日实验题解题目一: 时间之差Description定义一个类Time,包含小时、分钟、秒三个属性。定义其构造函数Time(int, int, int)分别初始化其小时、分钟、秒。重载减法运算符,用于求两个时间之间相差的秒数(非负整数)。Input输入有2行。每行表示1个时间,包括小时、分钟、秒三个值。输入都是合法的24小时制的时间。Output见样例。Sample Input12 10 1010 20 20Sample OutputDeferenc

2020-06-15 22:26:47 872

原创 [信息学奥赛一本通-T1311]求逆序对

题目链接题目描述给定一个序列a1,a2,…,an,如果存在i<j并且ai>aj,那么我们称之为逆序对,求逆序对的数目。输入第一行,一个数 n,表示序列中有 n个数。第二行 n 个数,表示给定的序列。序列中每个数字不超过 int 所表示的范围。输出所有逆序对总数。样例输入43 2 3 2样例输出3提示数据经过加强!!!对于 25% 的数据,n≤2500对于 50% 的数据,n≤4×104。对于所有数据,n≤5×105请使用较快的输入输出标程#include&

2020-06-09 21:50:50 811

原创 山东科技大学2020年6月8日作业题解

山东科技大学2020年6月8日作业题解题目一: 动物爱好者Description某人是一个狂热的动物爱好者,豢养了大量的各种动物。现在请定义两个类:Animal类:(1)string name和int num属性表示该种动物的名称和数量。(2)无参构造函数。(3)void setAnimal(string,int)方法,用于设置一个动物的相关属性。(4)int getNum() const和string getName() const方法用于获得该动物的数量和名称。(5)重载的赋值运

2020-06-08 23:40:35 509

原创 山东科技大学2020年6月8日实验题解

山东科技大学2020年6月8日实验题解题目一: 农夫果园Description秋天到了,果园里的水果成熟了,商贩们来收水果了,农夫们都希望自己的水果能卖个好价钱。现在果园里有三种水果正在销售,苹果(Apple)、香蕉(Banana)、梨(Pear)。每次销售都会记录下水果的种类、单价和总量,input()函数可以读取每条销售记录的单价和总量,total()函数可以计算出这次销售的总价。但是,销售员在记录时忙中出错,各中水果的单价和总量的单位没有统一。单价是每公斤的价格,而水果是按箱记录的。其中,苹

2020-06-08 23:34:11 619

原创 C++教程-----C++模板

C++教程正在更新中,具体请查看教程目录C++模板C++的模板在维基百科中的解释如下:模板(Template)指C++程序设计语言中的函数模板与类模板[1],是一种参数化类型机制,大体对应于java和C#中的泛型,但也有一些功能上的显著差异(C++模板支持后两者没有明确对应的模板模板参数和模板非类型参数,但不支持Java的通配符以及C#的泛型类型约束)。模板是C++的泛型编程中不可缺少的一部分。模板是C++程序员绝佳的武器,特别是结合了多重继承与运算符重载之后。C++的标准函数库提供的许多有用的函

2020-06-07 23:12:16 318

原创 C++教程-----C++重载运算符和重载函数

C++教程正在更新中,具体请查看教程目录C++重载运算符和重载函数C++的运算符重载在维基百科中的定义如下:在计算机程序设计中,运算符重载(英语:operator overloading)是多态的一种。这里,运算符(比如+,=或==)被当作多态函数,它们的行为随着其参数类型的不同而不同。运算符并不一定总是符号。运算符重载通常只是一种语法糖。它可以简单地通过函数调用来模拟:a + b * c在一个支持运算符重载的语言里,上面的写法要比下面的写法有效而简练:add(a, multiply(b,

2020-06-07 00:23:14 585

原创 C++教程-----C++的多态

C++教程正在更新中,具体请查看教程目录C++的多态多态多态在[维基百科](https://zh.wikipedia.org/wiki/%E5%A4%9A%E5%9E%8B_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)中的定义如下:在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 [1]多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。[2]多态按照字

2020-06-02 23:01:47 339

原创 山东科技大学2020年6月1日作业题解

山东科技大学2020年6月1日作业题解题目一: STL——灵活的线性表Description数组和链表是我们熟知的两种线性结构,但是它们不够灵活(不能同时实现直接插入、删除和访问操作),给你若干种操作,你能通过一种灵活的容器,实现它们的功能吗?操作1:Build a b (产生一个大小为a的线性表,其值全部赋为b,每组样例仅出现一次,在起始行)操作2:Modify a b (将线性表的第a个元素的值设为b)操作3:Insert a b c (在线性表的第a个位置插入第b到第c个位置的所有元素)

2020-06-02 10:30:03 582

原创 山东科技大学2020年5月25日作业题解

山东科技大学2020年5月25日作业题解题目一: 新型乘法运算Description定义Integer类,只有一个int类型的属性value。包括如下成员函数:void setValue(int): 设置value为参数的值。int getValue():获取value的值。重载乘法运算。新的乘法定义为:对于数值n,如果乘数是m,那么将n重复m次形成一个新的数。如:34 * 3 = 343434。注意:34 * 1 = 34。重载=运算符。Input输入有多行,第1行是

2020-05-29 00:04:08 898

原创 山东科技大学2020年5月25日实验题解

山东科技大学2020年5月25日实验题解题目一: 自定义字符串的下标运算Description定义类MyString,由长度不超过100的字符串组成。重载其下标运算符:用于重复求指定字符ch在串中的下标。重载其输入运算符,用于输入字符串。Input输入一个不含空白符的字符串(长度不超过100个)和一个字符。Output指定字符在字符串中的所有位置。Sample Inputbabababaab aSample Output13578-1HINT下标运算符中需要用

2020-05-28 23:43:16 897

原创 山东科技大学2020年5月21日实验题解

山东科技大学2020年5月21日实验题解第一题: 新奇的加法运算Description定义类newInt,包括:int类型的数据成员。重载运算符“+”。计算规则为:将A、B对应位置上的数字相加,只保留个位数作为结果的对应位置上的数字。比如:876 + 543 = 319。注意:该运算不改变两个操作数的值。重载输入和输出运算符,用于输入和输出对象的属性值。无参构造函数和带参构造函数。Input第1行N>0,表示测试用例数量。每个测试用例包括2个非负整数,用空格隔开

2020-05-21 21:13:42 1040

原创 山东科技大学2020年5月18日作业题解

山东科技大学2020年5月18日作业题解**题目一:**正方形、长方形、立方体 之二Description给出正方形(Square)、长方形(Rectangle)、立方体(Cube)、长方体(Cuboid)的边长,求(表)面积。正方形、立方体各边相等的,因此只需存储一条边长。长方形需存储两条边长。长方体需存储三条边长设计一个基类Shape,用于多态的实现求求(表)面积。请仔细阅读append.cc代码,并设计好正方形、长方形、立方体、长方体派生关系,使main()函数能够运行并得到正确的输出

2020-05-20 23:59:50 1176

原创 逆向工程核心原理笔记(六)——栈帧

逆向工程核心原理笔记(六)——栈帧1.栈帧栈帧是利用 EBP (栈帧指针)寄存器访问栈内的局部变量,参数,函数返回地址等等的手段,通过前面的学习可以了解到,ESP 寄存器承担着栈顶部指针的作用,EBP 寄存器负责行使栈帧指针的职能。在程序运行的时候,ESP 寄存器的值随时变化,访问栈中函数的局部变量,参数的时候,如果按照 ESP 的值为基准编写程序将会十分困难,并且很难使 CPU 引用带准确的地址,所以在调用某个函数的时候,需要先把 ESP 的值作为基准点保存到 EBP 中,并且维持在函数内部,这样无论

2020-05-17 21:42:53 593

原创 逆向工程核心原理笔记(五)——分析abex crackme-1

逆向工程核心原理笔记(五)——分析abex’ crackme#1下面我们将分析一个很简单的crackme小程序,从而进一步熟悉调试器和汇编代码,当然我们的目标不是进行crack(破解)而是加深汇编打吗和调试技术的认识。Abex’ crackme是一个著名的小程序,这是一个公开用作破解练习的小程序。首先我们先运行abex’ crackme#1这个程序:显示一个消息窗口,显示"Make me think your HD is a CD-Rom"消息。我们此时并不知道程序在这里是在干什么。于是我们点击确

2020-05-14 22:43:09 677

原创 山东科技大学2020年5月11日作业题解

山东科技大学2020年5月11日作业题解**题目一:**学生干部虚基类Description基于Student(学生)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Student_Cadre(学生兼干部)。这两个基类均继承自Person类,包含姓名、年龄、性别、地址、电话等数据成员。在Student类中还包含数据成员major(专业),在Cadre类中还包含数据成员post(职务),在Student_Cadre类中还包含数据成员wages(工资)。注意使用虚基类使Student_

2020-05-12 20:58:36 580

原创 山东科技大学2020年5月11日实验题解

山东科技大学2020年5月11日实验题解**题目一:**给我一台计算机吧!DescriptionCPU主频和主存容量是衡量一台计算机性能主要指标。请定义:CPU类:只有一个int类型的数据成员以表示其主频,并请根据输出和给定的main()函数编写必要的成员函数(包括构造函数)。Memory类:只有一个int类型的数据成员以表示其容量,并请根据输出和给定的main()函数编写必要的成员函数(包括构造函数)。Computer类:(1)三个数据成员分别为CPU的对象、Memory的对

2020-05-12 20:30:27 979

原创 C++教程-----C++继承,一篇文章一小时带你理解清C++的继承

C++教程正在更新中,具体请查看教程目录C++的继承在 C++ 中继承是一个很重要的概念,同样继承也是面向对象的语言的一个非常重要的概念,在维基百科中对于继承的定义如下:继承(英语:inheritance)是面向对象软件技术当中的一个概念。如果一个类别B“继承自”另一个类别A,就把这个B称为“A的子类”,而把A称为“B的父类别”也可以称“A是B的超类”。继承可以使得子类具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类

2020-05-10 23:32:41 727

原创 逆向工程核心原理笔记(四)——栈

逆向工程核心原理笔记(四)——堆栈堆栈(Stack),是一种常用的数据结构类型名,我们可以将堆栈抽象为一种一个管子,我们可以向管子中投入豆子,那么很显然,最先投进去的豆子,一定是最后才能取出。堆栈有两种最基本的操作:压入(Push)和弹出(Pop):​ 压入:将数据放入堆栈顶端​ 弹出:将堆栈顶端的数据弹出堆栈的特点和队列的特点有所不同,堆栈中元素满足先入后出,后入先出的特点,并且除了头尾的节点之外,堆栈中每个元素都有一个前驱和一个后继。接下来我们通过在管子中存取豆子来理解什么是堆栈:首先我们

2020-05-09 19:53:34 394 1

原创 基础算法——高精度算法,最全详解,直播讲义

本套课件于2020年4月17日直播使用,直播回顾链接如下:b站直播回顾:链接油管直播回顾:链接上面直播回顾有最全面的讲解,欢迎前去观看...

2020-05-09 17:23:49 339

原创 逆向工程核心原理笔记(三)——IA-32寄存器

逆向工程核心原理笔记(三)——IA-32寄存器英特尔 32 位架构:IA-32(Intel Architecture, 32-bit缩写为 IA-32),通常被称为 i386,或 x86,是由英特尔公司于 1985 年推出的指令集架构,它是 8086 架构的延伸版本,可以支持 32 位运算,被首次运用在 Intel 80386 芯片中。CPU寄存器首先我们来了解什么是 CPU 寄存器:寄存器是 CPU 内部用来存放数得一些小型存储区域,和常说的 RAM(内存)略有不同,CPU 访问 RAM 中的数据的

2020-05-08 21:56:19 602

原创 逆向工程核心原理笔记(二)——小端序标记法

逆向工程核心原理笔记(二)——小端序标记法字节顺序,又被称为端序或者是尾序,在计算机科学领域中,这存储器中或在数字通信链路中,组成多个字节的字的字节的排列顺序。在几乎所有的机器上,多字节的对象都被存储为连续的字节序列,例如在 C 语言中,一个类型为 int 的变量 x 的地址为 0x100,那么其对应的指针为 &x = 0x100,并且 x 的四个字节将被存储在内存的 0x100,0x...

2020-05-07 22:15:38 515

原创 山东科技大学2020年5月7日作业题解

山东科技大学2020年5月7日作业题解**题目一:**汽车、客车、货车Description定义Vehicle类,包括:一个int类型属性num,表示汽车的轮子数量。构造函数、析构函数,输出如样例所示的信息。定义Bus类,是Vehicle类的子类,包括:一个int类型属性guest,表示客车可乘坐的人数。构造函数、析构函数,输出如样例所示的信息。定义Truck类,是Vehicl...

2020-05-07 20:57:41 817

原创 山东科技大学2020年5月7日实验题解

山东科技大学2020年5月7日实验题解**题目一:**字符的变化Description定义类Char,包括:1.一个char类型的属性,是一个字符。2.char change():如果属性值是小写字母,则返回对应的大写字母;如果属性值是大写字母,则返回对应的小写字母;其他情况下返回原字符。Input输入有多行,每行一个字符。output每行输入对应一行输出,是输入的字符变化之后的...

2020-05-07 20:56:25 514

原创 逆向工程核心原理笔记(一)——Hello World-2

逆向工程核心原理笔记(一)——Hello World-2接下来我们尝试修改程序的内容打补丁在代码逆向分析的过程中,“打补丁”的操作是重要的内容,“打补丁”不仅可以修复已有程序中的Bug还可以向程序中添加新功能。其对象可以是文件,内存,甚至是程序的代码和数据。接下来我们尝试将MessageBox中的字符串修改为其他的字符串。接下来介绍修改字符串的两种方法:修改字符串缓冲区现在程序中找到字...

2020-05-06 22:26:38 481

原创 数学建模需要的Matlab知识速成,两小时Matlab速成,Matlab小白教程

建议由 C 语言和相关编程语言基础,了解线性代数和矩阵的相关知识在该网站可以对具体内容进行进一步查看和了解我们先来看看 Matlab 的界面构成:在界面的最左端是文件目录,在中间是命令行窗口,右边是工作区这份博客主要是为了数学建模使用,当然如果需要考前速成也可以参考1.生成矩阵首先来看生成矩阵的方式:1.直接法代码如下:matrix = [1, 2, 3; 4, 5, 6;...

2020-04-29 21:48:23 7692 5

原创 逆向工程核心原理笔记(一)——Hello World-1

逆向工程核心原理笔记(一)——Hello WorldOllydbg调试器指令指令快捷键含义Go toctrl + G移动到指定地址,用来查看代码或内存,运行时不可用Execute till CursorF4执行到光标位置,也就是直接转到要调试的地址Set/Reset Break PointF2设置或者取消断点Comment;添加注释...

2020-04-25 23:17:09 2051

原创 C++教程-----C++类和对象,一篇文章两小时带你理解清C++的类和对象

C++教程正在更新中,具体可以查看教程目录1.什么是类首先来看维基百科中对于C++的类的描述:C++程序设计允许程序员使用类(class)定义特定程序中的数据类型。这些数据类型的实例被称为对象,这些实例可以包含程序员定义的成员变量、常量、成员函数,以及重载的运算符。语法上,类似C中结构体(struct)的扩展,C中结构体不能包含函数以及重载的运算符。C++中的类可以认为是对于C中结构体...

2020-04-21 22:21:27 3892

空空如也

空空如也

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

TA关注的人

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