自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老张的博客

趁着年轻,多折腾会

  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

原创 斐波那契 (黄金分割法)查找——推导 详细

介绍斐波那契查找原理和二分查找相似,改变了中间结点(mid)的位置,mid 不再是中间得到,而是位于黄金分割点附近,即mid=low+F(k-1)-1(F 代表斐波那契数列)【这个暂且先记住】最初我们使用顺序查找,从头到尾依次遍历比对,发现效率较低然后使用二分查找,每次选择中间位置的值和目标值进行比对,根据比对情况,选择向左边还是右边继续查找。二分比对的是中间位置,斐波那契查找的是黄金分割点,所以这是一个类似的情况。为什么需要把斐波那契数列引入呢?我们看一下斐波那契数列的值,并且计算一下相邻两者之

2022-05-01 12:07:04 1236

原创 基于服务器利用VS调试远程代码

一、需求本次想要运行的项目是一个表格识别的任务叫TGRNet,具体的https://github.com/xuewenyuan/TGRNet代码放在服务器上,最初使用docker配置环境,仅仅希望能够在上面运行训练起来。但是代码的数据集中包含了一些问题,里面包含了大量绝对路径,导致需要修改代码,当时由于代码放在docker中,映射回宿主机的路径放在/data/下面,当时我还没有直接修改权限,只能在docker环境中使用命令sudo vim train.py的命令,还看不到代码。所以需要将代码实现vs和服务

2022-03-01 14:13:54 1405 2

原创 (五)文件操作

文件读取首先在界面拖拉,构成如下所示上面一个文本行,一个按钮和一个文本区域文本行用来存放文件路径,文本区存放文本内容,按钮用来选择文件connect(ui->openbtn,&QPushButton::clicked,[=](){ //文件选择器,获取文件路径 QString path = QFileDialog::getOpenFileName(this,"打开文件","C:/Users/weilong/Desktop"); //

2021-07-11 11:27:14 224

原创 (四)对话框QDialog 以及控件

介绍Qt 中使用QDialog类实现对话框。就像主窗口一样,我们通常会设计一个类继承QDialog。QDialog(及其子类,以及所有Qt::Dialog类型的类)的对于其 parent 指针都有额外的解释:如果 parent 为 NULL,则该对话框会作为一个顶层窗口,否则则作为其父组件的子对话框(此时,其默认出现的位置是 parent 的中心)。顶层窗口与非顶层窗口的区别在于,顶层窗口在任务栏会有自己的位置,而非顶层窗口则会共享其父组件的位置。对话框分类对话框可以分为模态对话框,和非模态对话框。

2021-07-11 10:21:12 2430 1

原创 (三)QMainWindow

介绍QMainWindowQMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。菜单栏一个主窗口最多只有一个菜单栏。 //定义菜单栏 最多只能有一个 QMenuBar *Bar = menuBar(); //一个都是使用set方法

2021-07-09 22:10:08 143 2

原创 (二)Qt的信号和槽机制

介绍信号和槽之间的关系就是一个事件发生触发另一个事件的发生。使用这种机制的最好例子就是按钮的点击事件。但按钮发生了点击,可能触发“取消"“确认”“关闭"等等。信号:就是相当于”起因”,发送出去后,类似于广播,所以我们之后需要定义一个东西将“因"与"果"进行连接在一起;槽函数:就是相当于”果",当之前绑定信号发出时,被连接的槽函数会自动被回调,做出相应的反应系统自带的信号和槽函数的例子(按钮点击)定义好按钮 QPushButton * quitBtn = new QPushButton("关

2021-07-09 16:16:13 278

原创 (一)QT的第一个入门小程序

项目的文件结构工程类文件 0708day08.pro#-------------------------------------------------## Project created by QtCreator 2021-07-08T10:11:34##-------------------------------------------------#QT包含的模块,目前来看主要包含了两个模块QT += core gui#要判定QT的版本,如果版本大于4 则加..

2021-07-09 14:01:22 447 3

原创 规范化理论:闭包,候选键,最小函数依赖,3NF分解

闭包通俗点:求 “x” 的闭包就是求 “x” 能直接或者间接推出的属性的集合,使用符号表示就是X+ X^{+}\,X+求解步骤计算关系R的属性集X的闭包的步骤如下:第一步:设最终将成为闭包的属性集是Y,把Y初始化为X;第二步:检查F中的每一个函数依赖A→B,如果属性集A中所有属性均在Y中,而B中有的属性不在Y中,则将其加入到Y中;第三步:重复第二步,直到没有属性可以添加到属性集Y中为止。 最后得到的Y就是X的闭包举个例子关系R(A,B,C)满足函数依赖M(A -> B,A -&g

2021-03-17 20:39:35 1366

原创 完全二叉树求节点数

题目描述如上所示,由正整数1,2,3……组成了一颗特殊二叉树。我们已知这个二叉树的最后一个结点是n。现在的问题是,结点m所在的子树中一共包括多少个结点。比如,n = 12,m = 3那么上图中的结点13,14,15以及后面的结点都是不存在的,结点m所在子树中包括的结点有3,6,7,12,因此结点m的所在子树中共有4个结点。输入输入数据包括多行,每行给出一组测试数据,包括两个整数m,n (1 <= m <= n <= 1000000000)。最后一组测试数据中包括两个0,表示输

2021-03-11 14:21:47 183

原创 广度优先搜索(BFS)

引入如果说深度优先搜索是“不撞南墙不回头”,那么广度优先搜索就是“剥洋葱”。因为洋葱是一层一层的。算法模板这个从树的角度来看,就是层次遍历(一层一层的,从上到下,从左到右)创建一个队列先将根节点入队while(队列非空){获取头结点;访问头结点;头结点出队;基于当前的结点,遍历所有与之相邻,且未入队的所有结点,将其入队}这个需要注意是将所有“未入队”的结点入队,而非“未访问”。未入队,就是从来没进过队列未访问,则包含了已经进队,当时还没排到访问(会重复入队)例子给出一个

2021-03-10 10:59:05 91

原创 深度优先遍历(DFS)

是什么?深度优先搜索是一种枚举所有完整路径以遍历所有情况的搜索方法。使用递归可以很好的实现深度优先遍历,因此,只能说递归是实现深度优先遍历的一种实现方式。解决问题给定一个序列,枚举这个序列所有的子序列例如{1,2,3}子序列包含{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}选择最优子序列,使它的某个特征是所有子序列中最优的。这个问题也就是从n个整数中,选择k个数的所有方案。应用一N件物品,重量w[i],价值c[i],选出若干,使总重量不超过V,找出价值最大的值

2021-03-09 10:03:17 2402 1

原创 静态链表通用解题步骤

定义静态链表struct Node { int address;//节点地址 typedata data;//结点数据 int next;//下一个结点 XXX //结点的某一个性质 } nodes[maxn];XXX可以根据题目的要求来使用,比如定义该结点是否加入了链表。链表初始化 for(int i = 0; i<maxn; i++) { nodes[i].XXX }将其定义为一般情况下达不到的数字。防止影响以后的使用静态链表的遍历 int p ; f

2021-03-08 16:52:16 223

原创 STL之pair

//想要把两个元素绑在一起作为一个合成元素,而不需要新建结构体#include<bits/stdc++.h>#include<iostream>#include<map>using namespace std;//pair 相当于有两个元素的结构体//分别通过first和second访问int main() { //实例化方法 pair<string,int> p; p.first = "hah"; p.second = 123; co

2021-03-07 13:18:12 109

原创 1071 Speech Patterns (25 分)

People often have a preference among synonyms of the same word. For example, some may prefer “the police”, while others may prefer “the cops”. Analyzing such patterns can help to narrow down a speaker’s identity, which is useful when validating, for exampl

2021-03-07 12:53:00 94

原创 STL之queue 与 priority_queue

queue//STL之queue用法//实现先进先出 #include<stdio.h>#include<queue>using namespace std;int main() { //定义 queue<int> qu; //进队 qu.push(1); qu.push(2); qu.push(3); //元素访问方式 //front函数 printf("队列头 %d\n",qu.front()); //back函数 pr

2021-03-07 10:20:01 73

原创 STL之map

//STL之MAP用法//以往定义的数组实现了int类型向其他类型的映射//现在想要实现其他类型向其他类型的映射//通过map实现键值对存储#include<stdio.h>#include<map>using namespace std;int main() { //定义 map<char,int> mp; mp['s'] = 45; mp['z'] = 25; mp['a'] = 12; //元素访问方式 //方式一 通过键直接得到 p

2021-03-07 08:42:25 80

原创 1060 Are They Equal (25 分)

题目If a machine can save only 3 significant digits, the float numbers 12300 and 12358.9 are considered equal since they are both saved as 0.123×10​5​​ with simple chopping. Now given the number of significant digits on a machine and two float numbers, y

2021-03-06 19:21:11 66

原创 问题 A: Course List for Student (25)

题目描述Zhejiang University has 40000 students and provides 2500 courses. Now given the student name lists of all the courses, you are supposed to output the registered course list for each student who comes for a query.输入Each input file contains one test c

2021-03-06 15:21:50 155

原创 问题 F: 迷瘴 配溶液

题目描述小明正在玩游戏,他控制的角色正面临着幽谷的考验——幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅。由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死。幸好小明早有防备,提前备好了解药材料(各种浓度的万能药水)。现在只需按照配置成不同比例的浓度。现已知小明随身携带有n种浓度的万能药水,体积V都相同,浓度则分别为Pi%。并且知道,针对当时幽谷的瘴气情况,只需选择部分或者全部的万能药水,然后配置出浓度不大于 W%的药水即可解毒。现在的问题是:如何配置此药,能得到最大体

2021-03-06 11:04:31 193

原创 出租车费

题目描述某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里;接下来的4公里,每公里2元;之后每公里2.4元。行程的最后一段即使不到1公里,也当作1公里计费。一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小。例如,整个行程为16公里,乘客应该将行程分成长度相同的两部分,每部分花费18元,总共花费36元。如果坐出租车一次走完全程要花费37.2元。现在给你整个行程的公里数,请你计算坐出租车的最小花费。输入输入包含多组测试数据。每组输入一个正整数n(n<1000000

2021-03-06 09:50:28 204

原创 神奇的口袋

题目描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下来的n行,每行有一个1到40之间的正整数,分别给出a1,a2……an的

2021-03-05 15:48:01 81

原创 问题 E: Problem B

题目描述请写一个程序,对于一个m行m列的(1<m<10)的方阵,求其每一行,每一列及主对角线元素之和,最后按照从大到小的顺序依次输出。输入共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。输出从大到小排列的一行整数,每个整数后跟一个空格,最后换行。样例输入415 8 -2 631 24 18 71-3 -9 27 1317 21 38 69样例输出159 145 144 135 81 60 44 32 28 27这里题目写只有一组数

2021-03-05 09:45:42 69 1

原创 字符串的查找删除

题目描述给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。输入输入只有1组数据。输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。输出删除输入的短字符串(不区分大小写)并去掉空格,输出。样例输入in#includeint main(){printf(" Hi ");}输出#cludetma(){prtf(“Hi”);}提示注:将字符串中的In、IN、iN、in删除。思路首先,需要输入待删除字符串字样,因为需要删除

2021-03-04 09:05:11 703 1

原创 “大”数据的进制转换

题目描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出每行输出对应的二进制数。样例输入9852111126样例输出11110110011101001110001100110思路展示由于当前的数比较大,无法使用int 和long long存储,所以使用字符数组存储,核心代码如下:for(int j = 0;j<len;j++){

2021-03-03 14:44:53 481 1

原创 解决OJ 反馈“输出超限”

问题正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。原答案#include<stdio.h>int main() { long long a,b; int da,db; char stra[50]; char strb[50]; int i = 0,j = 0; int pa = 0,pb = 0;

2021-03-01 20:37:53 6283

原创 结构体中包含unoin

设有若干个人员的数据,其中包含学生和教师。学生的数据中包括:号码、姓名、性别、职业、班级。教师的数据包括:号码、姓名、性别、职业、职务。可以看出,学生和教师所包含的数据是不同的。现在要求把这些数据放在同一个表格中储存,使用结构体中的共用体实现。结构体定义如下:struct {int num;char name[10];char sex;char job;union {int class;char position[10];}category;};在以上的结构体中,如果job项为s(学生

2021-02-23 12:18:07 139

原创 C ++ 中的字符数组

字符数组的初始化字符数组可以采用和普通数组一样的初始化方式,当然也可以采用直接赋值字符串的形式初始化(这种方式仅限于初始化赋值)#include<stdio.h>#include<string.h>int main() { char str1[12] = {'i',' ','l','o','v','e',' ','y','o','u'}; char str2[12] = "i love you"; for(int i = 0; i<12; i++) { pri

2021-02-22 16:49:23 1317

原创 12 拦截器

12.1拦截器概述Spring MVC 的拦截器(Interceptor)与 Java Servlet 的过滤器(Filter)类似,它主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。12.1.1拦截器的定义在 Spring MVC 框架中定义一个拦截器需要对拦截器进行定义和配置,定义一个拦截器可以通过两种方式:一种是通过实现 HandlerInterceptor 接口或继承 HandlerInterceptor 接口的实现类来定义;另一种是通过

2021-02-20 21:44:19 94

原创 11.JSON数据交互和RESTful支持

11.1JSON数据交互11.1.1 JSON概述JSON(JavaScript Object Notation, JS 对象标记)是一种轻量级的数据交换格式。与 XML 一样,JSON 也是基于纯文本的数据格式。它有对象结构和数组结构两种数据结构。1)对象结构对象结构以“{”开始、以“}”结束,中间部分由 0 个或多个以英文“,”分隔的 key/value 对构成,key 和 value 之间以英文“:”分隔。对象结构的语法结构如下:{ key1:value1, key2:val

2021-02-20 21:00:43 304

原创 11. 数据绑定

11.1 数据绑定介绍在执行程序时,Spring MVC 会根据客户端请求参数的不同,将请求信息中的信息以一定的方式转换并绑定到控制器类方法参数中,这便是数据绑定。信息处理的步骤1)Spring MVC将ServletRequest对象传递给DataBinder2)将处理方法的入参对象传递给DataBinder3)DataBinder调用 ConversionService 组件进行数据类型转换和数据格式化工作,并将ServletRequest对象中的信息填充到参数对象中。4)调用Validat

2021-02-20 20:02:34 238

原创 10.Spring mvc的核心类和注解

10.1 DisPatcherServletDisPatcherServlet 充当前端控制器的作用,只需要在web.xml中配置即可其中的元素 <load-on-startup>1</load-on-startup> 表示容器在启动时立即加载Servlet否则应用程序会在第一个Servlet请求时加载该Servlet。 <init-param> <param-name>contextConfigLocation</par

2021-02-20 11:13:23 186

原创 9.Spring MVC入门

9.1Spring MVC概述Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级框架Web框架。9.2Spring MVC工作流程用户通过客户端向服务器发送请求,请求会被Spring MVC的前端控制器DispatcherServlet拦截DispatcherServlet拦截到请求后,会调用Handle人Mapping处理器映射器处理器映射器根据请求的URL找到具体的处理器,生成处理器对象以及处理器拦截器,一并返回给DispatcherServletDispat

2021-02-18 09:22:23 96 1

原创 8.MyBatis 的关联映射

8.1关联映射的概念在关系型数据库中,多表之间存在三种关联关系,分别为一对一,一对多,多对多。在数据库中的表现:一对一:在任意一方引入对方主键作为外键一对多:在“多”的一方引入“一”的一方作为主键多对多:产生中间关系表,引入两个表的主键作为外键,两个主键成为联合 主键或使用新的字段作为主键。在Java实现时的表现:一对一:在本类中定义对方类型的对象一对多:一个A类型对应多个B类型,在A类中以集合的方式引入B类型,在B类中定义A类型的属性a多对多:均定义对方类型的集合

2021-02-08 12:52:30 319

原创 7.MyBatis 核心配置以及动态SQL

7.1 MyBatis的核心对象7.1.1SqlSessionFactory它是一个十分重要的对象,是单个数据库映射关系经过编译后的内存镜像,主要作用是用来创建Session,SqlSessionFactory对象是线程安全的,它一旦被创建,在整个应用执行期间都会存在,如果我们多次创建同一个数据库的SqlSessionFactory,那么此数据库的资源很容易被耗尽。因此,通常每一个数据库都会只对应一个SqlSessionFactory。7.1.2SqlSession它是应用程序与持久层之间执行交互操

2021-02-06 13:41:07 185 1

原创 6.初识MyBatis

MyBatis是当前主流的Java持久层框架之一。6.1什么是MybatisMyBatis框架也被称为ORM(对象关系映射)框架,所谓的ORM就是一种为了解决面向对象和关系型数据库数据类型不匹配的技术,通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。可以看出应用程序不在直接访问底层数据库,而是以面向对象的方式来操作持久化对象,ORM框架则通过映射将面向对象的操作转化成底层sql操作。常见的ORM框架有Hibernate与MyBatis(1)

2021-02-03 14:11:18 103

原创 5. Spring的事务管理

5.1 事务管理概述在负责事务管理的jar包中,找到trancation包,其中包括事务管理的三个核心接口:PlatformTransactionManager、TransactionDefinition 和 TransactionStatus。5.1.1事务管理的核心接口PlatformTrancationManager这个接口是Spring提供的平台事务管理器,主要用于管理事务,包含三个用于事务操作的方法。TransactionStatus getTransaction(Transac

2021-02-02 13:05:05 195

原创 STL之set

特点有序且唯一#include<stdio.h>//1.头文件引入 #include<set>using namespace std;int main(){ //2.set的定义 // set<类型> 名称 set<int> test; //3.元素插入 for(int i = 0;i < 3;i++){ test.insert(10-i); } test.insert(5); test.insert(5); /

2021-02-01 20:34:41 56

原创 4.Spring的数据库开发

JDBC是Spring数据集成/访问的重要模块4.1Spring JDBCSpring 的 JDBC模块负责数据库资源管理和错误处理,简化开发人员对数据库的操作。4.1.1Spring JdbcTemplate 的解析JdbcTemplate类是Spring JdBC的核心类,该类继承抽象类JdbcAccessor,实现JdbcOperations接口。抽象类JdbcAccessor中,包含访问数据库的公共属性,主要用于数据库的连接和转译工作JdbcOperations接口定义了JdbcTemp

2021-02-01 18:58:23 301

原创 3 Spring AOP

3.1Spring AOP简介3.1.1什么是AOPAOP是面向切面编程的缩写(Aspect-Oriented programming),我们在编写传统业务处理代码时,都会进行事务处理,权限检查,日志记录等。为了实现日志记录功能,我们会将同样的代码分散到各个方法中,当我们需要修改其中的业务逻辑时会非常麻烦。AOP采用横向抽取机制,这样编码人员只需要关注核心功能的实现,提高代码的可维护性,也提高了开发效率。一个简单的例子如下:目前主流的AOP框架有两个,分别为Spring AOP和AspectJ。S

2021-02-01 11:01:31 139

原创 STL之vector

#include<stdio.h>//要引入vector头文件,引入 using namespace std;#include<vector>using namespace std;int main(){ //1.vector的定义:vector<type> name; vector<int> a; //和一维数组相同,type可以是任何基本类型,比如int double,也可以是STl标准容器,但是注意>> 之间添加空格>

2021-01-30 20:18:26 67

人机交互作业.doc

人机交互、人机互动(英文:Human–Computer Interaction或Human–Machine Interaction,简称HCI或HMI),是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板,或发电厂的控制室。人机交互界面的设计要包含用户对系统的理解(即心智模型),那是为了系统的可用性或者用户友好性。

2020-04-13

安装虚拟机,熟悉虚拟机的配置与应用。.doc

安装虚拟机,熟悉虚拟机的配置与应用。Hadoop环境安装,创建hadoop用户,安装SSH、配置SSH无密码登陆,安装Java环境

2020-04-13

空空如也

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

TA关注的人

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