自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

绝尘

菩提本无树,明镜亦非台。 本来无一物,何处惹尘埃!

  • 博客(725)
  • 资源 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 如何处理Qt端口数据合并与解析

最近一段时间经常使用Qt,经常能够接触到对于通过端口连接的设备,如何进行数据的解析是一个问题。虽然每次都能得到一本关于协议的说明书,尤其是在一些只能以十六进制收到数据的设备中,有说明书但是在解析的过程中还是会遇到各种问题。问题1 数据接收不完整刚进行数据解析的时候,当 readyRead() 槽函数触发的时候, readAll() 读取数据,然后也不管数据是否完整,以及是否正确,就开始解析,结果往往出现的情况就是,解析的结果不对,或者解析的结果不停的变换。一定要定义自己使用的缓冲区,来进行数据的

2020-11-25 09:08:33 2047

原创 Leetcode 第38场周赛

按照频率将数组升序排序两点之间不包含任何点的最宽垂直面积统计只差一个字符的子串数目通过给定词典构造目标字符串的方案数

2020-11-01 11:24:15 331

原创 LeetCode——1192. 查找集群内的「关键连接」

力扣数据中心有 n 台服务器,分别按从 0 到 n-1 的方式进行了编号。它们之间以「服务器到服务器」点对点的形式相互连接组成了一个内部集群,其中连接 connections 是无向的。从形式上讲,connections[i] = [a, b] 表示服务器 a 和 b 之间形成连接。任何服务器都可以直接或者间接地通过网络到达任何其他服务器。「关键连接」是在该集群中的重要连接,也就是说,假如我们将它移除,便会导致某些服务器无法访问其他服务器。请你以任意顺序返回该集群内的所有 「关键连接」。来源:力

2020-06-20 11:25:25 725

原创 Leetcode——837. 新21点 概率Dp

爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下:爱丽丝以000 分开始,并在她的得分少于 K 分时抽取数字。 抽取时,她从 [1,W][1, W][1,W] 的范围中随机获得一个整数作为分数进行累计,其中 WWW 是整数。 每次抽取都是独立的,其结果具有相同的概率。当爱丽丝获得不少于 KKK 分时,她就停止抽取数字。 爱丽丝的分数不超过 NNN的概率是多少?示例 1:输入:N = 10, K = 1, W = 10输出:1.00000说明:爱丽丝得到一张卡,然后停止。示

2020-06-03 17:00:22 429

原创 Linux——从C代码编译出软件

从C代码编译出软件Linux系统上,几乎所有的东西都有它的源代码——从内核、C库,到网页浏览器等等。你甚至可以使用源代码来(重新)安装你系统的某部分,来更新和加强你的系统。但是,你不应该让所有东西都从源代码构建并安装,除非你真的很享受这个过程或者某些特殊原因使然。Linux发行版的核心部分,如/bin中的程序,一般都不难更新,而且,Linux的安全问题通常都修复得很快。然而,不要期望你的发行版能为你提供一切。以下这些原因就解释了为何你需要自行安装某些包。你可按自己的需要进行设置。你可自己决定安装位

2020-06-01 17:31:26 501

原创 Linux——开发工具

开发工具C编译器大多数的Linux工具,以及很多Linux应用软件,都是用C或C++写成的。本章主要以C作为例子,但你把这些概念搬到C++上是没问题的。C程序遵照传统的开发流程:写代码、编译代码、运行代码。也就是说,想让写好的C代码能运行起来,你必须先将其编译成计算机能理解的、低层次的二进制形式。你可拿C来跟后面讲到的一些脚本语言作对比,它们不需要编译。大多数发行版都默认不含有编译C的工具,因为它们比较占空间。如果你发现没有这些工具,对于Debian/Ubuntu,你可以安装build-essen

2020-06-01 09:40:54 563

原创 Linux——Linux桌面概览

Linux桌面概览桌面组件为了能协同工作,各种应用就需要有一些共性,而在几乎所有的Linux桌面组件中,这种共性就是X服务器(即X Window系统服务器)。你可以把它想象为桌面的“内核”,管理着窗口功能和显示配置,并处理来自键盘和鼠标等设备的输入。它是难以取代的。X服务器只是一个服务器,它无法决定桌面的表现形式。相反,用户界面是由X客户端处理的。基本的X客户端应用如终端窗口和网页浏览器,会连接到X服务器,并请求它绘制窗口。这样X服务器就会算出窗口的位置并在该位置提供图形。X服务器也会在适当的时候将用

2020-05-29 15:14:18 801

原创 HDU6581——Vacation(思维题目)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6581题意在一条道路上有n+1n+1n+1辆车,每辆车有自己距离终点的距离sss,自己的车身长度lll和自己的速度vvv。注意所有的车不能超车,只能按照顺序到达终点。问所有的车到达终点所需要的时间。数据按照从远到近的顺序给出。题解这是一个比较有意思的思维题。考虑最远的一辆车。就是编号为0的车。如果在到达终点的期间没有碰到一号车,那么它就是最后一个到达是车,所需要的的时间就是s0v0\frac{s_0}

2020-05-29 14:48:03 294

原创 Linux——网络应用与服务

网络应用与服务客户端必须与它们相应的网络服务器连接起来才能正常工作。Unix服务器有很多种形式。服务器程序直接或间接地监听端口。另外,服务器功能各异,但没有通用的配置数据库。大多数服务器通过配置文件(尽管格式不统一)来定义自身的行为,并使用操作系统的syslog服务来记录日志。接下来我们会介绍一些常见的服务器以及用于调试的工具。服务的基本概念TCP服务是最好理解的概念之一,因为它建立在简单、无中断的双路数据流之上。或许最佳的解释方式,是让你直接通过TCP与某个Web服务器的80端口沟通,去看看数据是如

2020-05-28 22:08:53 1154

原创 HDU6579——Operation 线性基 贪心

HDU6579——Operation题意给你一个长度为nnn的数列,有mmm次的操作,操作分为两种:查询区间[l,r][l,r][l,r]中一些数字的异或最大值。在数组的尾部插入一个数字xxx。数据范围T≤10T \le 10T≤101≤n≤5×1051\le n \le 5\times10^51≤n≤5×1051≤m≤5×1051\le m\le 5\times 10^51≤m≤5×1050≤ai≤2300\le a_i\le 2^{30}0≤ai​≤230∑n≤106∑m≤1

2020-05-28 14:18:58 377

原创 数据库系统概念笔记——第10章 存储和文件结构

第10章存储和文件结构物理存储介质概述磁盘和快闪存储器磁盘的物理特性磁盘性能的度量磁盘块访间的优化快闪存储RAID通过冗余提高可靠性通过并行提高性能RAID级别RAIDO级(RAID level0)RAID1级(RAID level1)RAID2级(RAID level2)RAID3级(RAID level3)RAID4级(RAID level4)RAID5级(RAIDlevel5)RAID6级(RAIDlevel6)RAID级别的选择硬件问题第三级存储光盘磁带

2020-05-28 11:15:43 1486

原创 HDU6578——blank 动态规划

题目来源 HDU 6578题意总共有nnn个编号,每个编号可以填充一个数字,分别为{0,1,2,3}\{0,1,2,3\}{0,1,2,3}。有mmm个条件,每个条件组成为l,r,xl,r,xl,r,x表示在区间[l,r][l,r][l,r]内的不同数字的个数为xxx个。问总共有多少种填充的方式,结果对998244353取模。题解定义dp[x][y][z][i]dp[x][y][z][i]dp[x][y][z][i]表示从前向后,当填充到第iii个格子的时候,4个数字最后出现的位置分别为x,y,z

2020-05-27 23:39:39 304

原创 计算机图形学笔记——第7章 二维几何变换 Python

第7章 二维几何变换应用于对象几何描述并改变它的位置、方向或大小的操作称为几何变换(geometric transformation)。几何变换有时也称为建模变换(modeling transformation),但有些图形系统将两者区分开来。建模变换一般用于构造场景或给出由多个部分组合而成的复杂对象的层次式描述等。基本的二维几何变换平移、旋转和缩放是所有图形软件包中都包含的几何变换函数。可能包括在图形软件包中的其他变换函数有反射和错切操作。二维平移通过将位移量加到一个点的坐标上来生成一个新的坐

2020-05-27 16:02:47 3805

原创 LeetCode——974. 和可被 K 整除的子数组 区间问题

给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。示例:输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]提示:1≤A.length≤300001 \le A.length \le 300001≤A.length≤30000−100

2020-05-27 14:39:19 434

原创 LeetCode——287寻找重复数 Floyd判圈

给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数组中只有一个重复的数字,但它可能不止重复出现一次。来源:力扣(LeetCode)链接:https://le

2020-05-26 14:11:36 313

原创 Linux——网络与配置

网络与配置网络基础数据包数据被分成一块块的在网络上传输,每一块叫作一个数据包(packet)。包中分为两部分:头和净荷。头含有一些识别信息,如发送方、接收方以及基本的协议。净荷则含有实际需要传送的数据,如HTML或图片数据。分包使主机能够交替地做出发送、接收、处理数据的动作,所以主机之间看似能同时通信。而且这样也令错误检测和重传数据更方便。网络层次一个功能完整的网络,包含一整套被称为网络栈的网络层次应用层:包含应用间、服务器件的交流语言,通常是一种高级的协议。一般有超文本传输协议(Hype

2020-05-26 00:15:11 1405

原创 Linux——进程与资源利用

进程跟踪lsof线程资源监控平均负载内存vmstatpidstat

2020-05-25 18:45:33 464

原创 Linux——系统配置:日志、系统时间、批处理任务和用户

系统配置:日志、系统时间、批处理任务和用户/etc目录结构Linux系统的大部分系统配置文件都存放在/etc目录中。按照惯例,每个程序在这里都有一个或多个配置文件。因为Unix系统的程序数目很多,所以/etc目录也会越来越庞大。不仅很难找到要找的配置文件,而且维护起来也不方便。比如,要更改系统的日志配置,你需要辑/etc/syslog.conf文件。但是你的更改可能会被随后的系统升级覆盖掉。目前比较常见的方式是将系统配置文件放到/etc下的子目录,如果你运行ls -F /etc查看的话,你会发现大部

2020-05-25 16:05:33 1294

原创 Linux——用户空间的启动

用户空间的启动init介绍init是Linux上的一个用户空间程序。和其他系统程序一样,你可以在/sbin目录下找到它。它主要负责启动和终止系统中的基础服务进程,但其较新的版本功能更多一些。Linux系统中,init有以下三种主要的实现版本。System V init:传统的顺序init(Sys V 读做 sys-five)为Red Hat Enterprise Linux和其他的Linux发行版使用systemd: 新出现的init,很多Linux发生版已经或者正在计划转向systemd。U

2020-05-24 23:41:12 1029

原创 LeetCode——76.最小覆盖子串 滑动窗口

给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC”说明:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-window-substring题解又是一道比较典型的滑动窗口的题,由于需要

2020-05-23 09:26:41 277

原创 计算机图形学笔记——第5章 图元的属性

第5章 图元的属性任何影响图元显示方法的参数一般称为属性参数(attribute parameter),例如颜色和大小等属性参数确定了图元的基本特性。将属性选择加入图形软件包的一种方法是,为每个输出图元函数扩充相关的参数表,从而引入合适的属性。例如,画线功能除了包括端点坐标以外,还可以包含颜色、宽度和其他属性的参数。另一种方法是提供一张系统当前属性值表,并使用包含在图形软件包中的独立函数来为属性表设置当前值。为了生成一个输出图元,系统要检测相关的属性,并使用当前属性设置来调用该显示程序。有些图形软件包使

2020-05-22 23:01:43 1181

原创 数据库系统概念笔记——第4章 中级SQL

第4章 中级SQL1.连接表达式对于studenthetakes两个关系:student关系IDnamedept_nametot_cred00128ZhangComp.Sci10212345ShankarComp.Sci.3219991BrandtHistory8023121ChavezFinance11044553PeltierPhysics5645678LevyPhysics4654321Wilia

2020-05-22 16:04:51 714

原创 Leetcode——1371. 每个元音包含偶数次的最长子字符串

给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。示例 1:输入:s = “eleetminicoworoep”输出:13解释:最长子字符串是 “leetminicowor” ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。示例 2:输入:s = “leetcodeisgreat”输出:5解释:最长子字符串是 “leetc” ,其中包含 2 个 e 。示例 3:

2020-05-20 12:29:14 323

原创 计算机图形学笔记——第4章 输出图元 Python实现

坐标系统屏幕系统多边形填充OpenGL画点函数OpenGL画线函数OpenGL曲线函数填充图元OpenGL像素阵列OpenGL字符函数OpenGL显示表OpenGL重定形函数

2020-05-20 10:50:14 2357

原创 Leetcode——523. 连续的子数组和

给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入: [23,2,6,4,7], k = 6输出: True解释: [23,2,6,4,7]是大小为 5 的子数组,并且和为 42。说明:数组的长度不会超过10,0

2020-05-19 11:14:32 264

原创 Leetcode——1453. 圆形靶内的最大飞镖数量

墙壁上挂着一个圆形的飞镖靶。现在请你蒙着眼睛向靶上投掷飞镖。投掷到墙上的飞镖用二维平面上的点坐标数组表示。飞镖靶的半径为 r 。请返回能够落在 任意 半径为 r 的圆形靶内或靶上的最大飞镖数。示例 1:输入:points = [[-2,0],[2,0],[0,2],[0,-2]], r = 2输出:4解释:如果圆形的飞镖靶的圆心为 (0,0) ,半径为 2 ,所有的飞镖都落在靶上,此时落在靶上的飞镖数最大,值为 4 。示例 2:输入:points = [[-3,0],[3,0],

2020-05-18 17:45:09 653

原创 计算机图形学笔记——第3章 计算机图形软件

第3章 计算机图形软件图形软件分为两大类:专用软件包:CAD、建筑等通用软件包:GL(Graphics Libray)、OpenGL、VRML(Virtual Reality Modeling Language)、Java2D和Java3D等。坐标使用通常,在构造和显示一个场景的过程中会使用几个不同的笛卡尔坐标参照系。首先在各自的参考系中构造每一对象的形状。这些坐标系称为建模坐标系(modeling coordinate),有时也称为局部坐标系(local coordinate)或主坐标系(m

2020-05-18 10:07:14 1363

原创 数据库系统概念笔记——第3章 SQL

第3章 SQLSQL查询语言概览SQL语言主要有以下的几个部分:数据定义语言(Data Definition Language,DDL):SQL DDL提供定义关系模式,删除关系以及删除关系模式的命令。数据操纵语言(Data Manipulation Language,DML):SQL DML提供从数据库中查询信息,以及在数据库中插入元组、删除元组和修改元组的能力。完整性(Integrity):SQL DDL包括定义完整性约束的命令,保存在数据库汇中的数据必须满足所有定义的完整性约束。视图定义

2020-05-17 23:45:07 811

原创 数据库系统概念笔记——第2章 关系模型介绍

第2章 关系模型介绍文章目录第2章 关系模型介绍关系数据库的结构数据库模式码模式图关系查询语言关系运算关系数据库的结构关系数据库由表(table)的集合构成,每个表有唯一的名字。一般来说,表中一行代表了一组值之间的一种联系,由于一个表就是这种联系的一种集合,表这个概念和数学上的关系这个概念密切相关的。在数据模型的术语中,关系(relation)用来指代表,而元组(tuple)用来指点行,类似的属性(attribute)指代表中的列。我们用关系实例(relation instance)这个术语表示一

2020-05-17 23:31:40 546

原创 数据库系统概念笔记——第一章 引言

第一章 引言数据库管理系统(DataBase Management System, DBMS)由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。这个数据集合通常称作数据库(database)==目的:==为了管理大量的信息。数据库系统的应用企业信息银行和金融大学航空业电信业数据库系统的目标文件处理系统(file processing system)是传统的操作系统支持的,永久记录被存储在多个不同文件中。缺点:数据的冗余和不一致(data redundancy and

2020-05-17 23:29:14 833

原创 aniso8601库

aniso8601安装推荐的安装方法就是使用pippip install aniso8601官方文档使用解析日期时间解析典型的ISO 8601日期时间字符串In [1]: import aniso8601In [2]: aniso8601.parse_datetime('1977-06-10T12:00:00Z')Out[2]: datetime.datetime(1977, 6, 10, 12, 0, tzinfo=+0:00:00 UTC)Z表示UTC时间,其他时区用实际时间

2020-05-09 21:23:21 686

原创 SkewT图简介

SkewT图简介又名SkewT-LogP图,是一个非常有用的气象热力学图,在该图上绘制了整个大气层上地球表面某个点的压力,密度,温度和水蒸气。每个SkewT图都包含了一个静态的大气计算(适用于所有的位置),以及一组动态的空气温度和露点温度计算,这些计算是通过直接测量大气获得的。通常通过每天从全球很多机场和气象站放出一个小的探空仪器(一般是气象气球)来获得这组观测值。美国国家航空航天局(NASA)的大气红外探测仪(AIRS)和高级微波探测器(AMSU-A)露点温度:在空气中水汽含量不变,保持气压一定的情

2020-05-08 23:50:31 6071

原创 WSGI与ASGI的区别与联系

WSGI与ASGI文章目录WSGI与ASGI什么是WSGI什么是ASGI目的总览区别什么是WSGICGI(Common Gateway Interface,通用网关接口),定义客户端与Web服务器的交流方式的一个程序,例如正常情况下客户端发送过来一个请求,根据HTTP协议Web服务器将请求的内容解析出来,经过处理会后,再将返回的内容封装好。例如服务器返回一个HTML页面,并且根据HTTP协议构建返回内容的响应格式,涉及到TCP连接、HTTP原始请求和相应格式都是由一个软件来完成,这个程序就是CGI。

2020-05-08 22:10:09 5180

原创 Leetcode——5402. 绝对差不超过限制的最长连续子数组

题目给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。如果不存在满足条件的子数组,则返回 0 。示例 1:输入:nums = [8,2,4,7], limit = 4输出:2解释:所有子数组如下:[8] 最大绝对差 |8-8| = 0 <= 4.[8,2] 最大绝对...

2020-05-03 15:41:08 270

原创 Leetcode——5387. 每个人戴不同帽子的方案数

题目总共有 n 个人和 40 种不同的帽子,帽子编号从 1 到 40 。给你一个整数列表的列表 hats ,其中 hats[i] 是第 i 个人所有喜欢帽子的列表。请你给每个人安排一顶他喜欢的帽子,确保每个人戴的帽子跟别人都不一样,并返回方案数。由于答案可能很大,请返回它对 109+710^9 + 7109+7 取余后的结果。示例 1:输入:hats = [[3,4],[4,5],[5...

2020-05-03 15:28:34 585

原创 Leetcode22——括号生成

题目数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parentheses题解对于...

2020-04-09 17:04:02 136

原创 Leetcode——1397. 找到所有好字符串

题目1397. 找到所有好字符串给你两个长度为 n 的字符串 s1 和 s2 ,以及一个字符串 evil 。请你返回 好字符串 的数目。好字符串 的定义为:它的长度为 n ,字典序大于等于 s1 ,字典序小于等于 s2 ,且不包含 evil 为子字符串。由于答案可能很大,请你返回答案对 109+710^9 + 7109+7 取余的结果。示例1输入:n = 2, s1 = “aa”, ...

2020-04-07 20:24:07 724

原创 Leetcode——1406.石子游戏III

石子游戏IIIAlice 和 Bob 用几堆石子在做游戏。几堆石子排成一行,每堆石子都对应一个得分,由数组 stoneValue 给出。Alice 和 Bob 轮流取石子,Alice 总是先开始。在每个玩家的回合中,该玩家可以拿走剩下石子中的的前 1、2 或 3 堆石子 。比赛一直持续到所有石头都被拿走。每个玩家的最终得分为他所拿到的每堆石子的对应得分之和。每个玩家的初始分数都是 0 。比赛...

2020-04-06 11:15:13 472

原创 Leetcode——72.编辑距离

编辑距离题解对于两个字符串,要是将一个字符串转换为另一个字符串,可以对一个字符串进行如下的操作。插入一个字符删除一个字符替换一个字符那么对于字符串A和B假设A=“examp”, B=“exam”对于B在尾部插入一个p,那么就相当于在B中不插入p,将A中的p这个字符删除,同理,在A中插入一个字符,也等同于在B中删除一个字符。对于替换的操作,无论是对A字符还是B字符操作都是一样的...

2020-04-06 10:38:30 175

原创 Python——协程

协程Python中的协程和生成器很相似的但是又稍有不同,主要的区别在于:生成器是数据的生产者协程则是数据的消费者对于生成器def fib(): a ,b = 0,1 while True: yield a a, b = b, a+bfor i in fib(): print(i)这样做不仅快而且不会给内存带来压力。我们y...

2020-01-05 20:08:53 186

OCLSDKLightAMD.zip

替代AMD APP SDK的OpenCL的库。OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码

2019-10-15

MakedownTyproa

Typroa 终于有Linux 版了

2016-12-20

算法合集之最小割模型在信息学竞赛中的应用

Amber的《最小割模型在信息学竞赛中的应用》,描述了分数规划问题,最大密度子图,二分图的最小点权覆盖集与最大点权独立集

2016-02-25

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

TA关注的人

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