自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 惠州学院第二届大学生程序设计竞赛c++题解

按难度等级排序时间限制: 1.0s 内存限制:256.0MB【问题描述】给定 T 组测试样例每组样例给定整数 n,x,请输出区间 [1, n] 中能被 x 整除的最大整数。【输入格式】第一行输入一个整数T,代表一共有T组测试样例。(1 ≤ T ≤ 1000)接下来 T 行,每行两个整数 n, x。(1 ≤ x ≤ n ≤ 109 )【输出格式】对每一组输入,在一行中输出答案值。【样例输入】【样例输出】【方法一:二分搜索】一种直观的方法,可以通过二分枚举倍率的方法找到符合条件的最大倍率,x乘于

2024-03-16 17:00:56 2241

原创 oracle数据库总结

简单来说,oracle存储数据的时候会分配空间,但是删除数据的时候并不会回收空间。这样的话,表的空间就只会越来越大,查询的时间不会因为数据删除而变少。举个例子:假如student表了有1000万条数据,使用 select count(*) from student 查询总记录数的时候需要花费2秒,当student的数据被清除到只剩1条数据的时候,再次使用 select count(*) from student 查询总记录数的时候仍然需要花费2秒。

2023-08-23 15:20:27 329

原创 正则表达式

正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。

2023-08-10 17:01:25 720

原创 java编程规范

1、命名可以使用ali / alibaba / taobao / cainiao / aliyun / youku / hangzhou 等国际通用的名称,但不应该使用niHao(你好)、youhui(优惠)等拼音,更不允许直接使用中文表示。2、浮点数不能直接使用 == 号或者equals()判断两个浮点数是否相等,因为浮点数采用“尾数+阶码”的编码方式来存储的,也就是说,二进制无法精确表示一个10进制的小数,因此有可能两个数理论上是相等的,但是用 == 号比较会返回false。

2023-08-09 17:08:06 312

原创 数据库SQL优化技巧

作为程序员,主要的工作任务就是curd,和数据库打交道是无可避免的。掌握一些数据库的优化技巧是非常有必要的## 一、减少数据访问1、使用索引 索引的原理是利用额外的空间建立了一个平衡的搜索树,大大缩短了查询的时间,使得查询的时间复杂度从O(n)降低到O(log(n)),但是在进行插入、修改、删除操作的时候,同时要对搜索树进行相对应的维护,需要带水平分库、垂直分表、水平分表都使用了减少数据访问的原理对数据库操作做了优化,而垂直分库可解耦合,使得数据库变得更加灵活易维护。

2023-08-08 17:59:35 248

原创 MD5数据加密方法

什么场景需要使用数据加密呢?比如秘密数据传输、用户密码加密存储等等数据传输可使用密钥对的方式进行加密解密,使用签名方式验证数据是否可靠,而密码加密存储可使用MD5等一些算法对数据进行单向加密。

2023-07-20 13:02:27 15648 2

原创 spring boot面向切面编程aop

AOP,Aspect Oriented Programming,面向切面编程举个例子来理解如果我们的业务需要额外做三件事情,判断是否已经登录,记录日志,统计业务执行时长传统的做法是这样子的:而apo的实现是这样的:原本的做法是,需要什么功能,就调用什么功能的方法,需要我们主动去调用aop的做法是,需要什么功能,就把业务交给相应的代理人,由代理人帮我们去完成,是被动完成的1、代码解耦把不相关的功能都抽取出来,需要使用哪个功能就把业务交给专业的代理人,由代理人去完成。

2023-07-15 22:07:06 1229

原创 java基础——有多少是你不知道的?

int自动装箱的小细节:对于-128~127的数据,int会判断缓存里有没有相对应值的Integer对象,如果有,直接返回该对象,否则新创建一个对象,并把对象放到缓存中。因为多个线程操作的是同一个StringBuilder对象,而StringBuilder的方法调用时没有加锁,导致多个线程同时进入方法,出现不一致问题,例如线程1进入方法后获取了数据,线程2修改了字符串,那么线程1拿到的就是脏数据。Integer是int的包装类,Integer引用的是堆内存新建的对象,int引用的是java常量池里的数据。

2023-06-15 18:44:24 330 2

原创 java开发——程序性能的优化方法

jvm(Java Virtual Machine),java虚拟机Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。jvm的内存模型:堆的垃圾回收分区:

2023-06-15 01:48:56 1497 1

原创 linux搭建hadoop集群

  Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据

2023-06-13 17:49:07 3655 7

原创 shell编程

Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS下的COMMAND.COM和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

2023-06-13 15:40:07 1311

原创 2023第十四届蓝桥杯国赛 C/C++ 大学 B 组

第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组,试题 A: 子 2023、试题 B: 双子数、试题 C: 班级活动、试题 D: 合并数列、试题 E: 数三角、试题 F: 删边问题、试题 G: AB 路线、试题 H: 抓娃娃、试题 I: 拼数字、试题 J: 逃跑。第十四届蓝桥杯大赛软件赛国赛 C/C++ 2023第十四届蓝桥杯国赛第十四届蓝桥杯大赛软件赛国赛 C/C++ 2023第十四届蓝桥杯国赛第十四届蓝桥杯大赛软件赛国赛 C/C++ 2023第十四届蓝桥杯国赛第十四届蓝桥杯大赛软件赛国赛 C/C+

2023-06-10 20:52:09 10626 39

原创 第十四届蓝桥杯省赛c/c++大学B组题解

第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组,日期统计、 01 串的熵、冶炼金属、飞机降落、接龙数列、岛屿个数、子串简写、整数删除、景区导游、砍树

2023-04-11 20:03:36 7845 17

原创 计算机操作系统知识点汇总

计算机操作系统选择填空题,300+知识点,包含操作系统概论、处理机管理、内存管理、设备管理、文件管理等,为大学生期末创造奇迹提供无限可能。

2023-02-25 15:45:41 1433

原创 软件工程导论知识点汇总

软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论,专为大学生期末创造奇迹整理的知识点。软件工程导论

2023-02-23 17:50:30 1627

原创 c++ 双端队列 deque用法解析

双端队列deque的头文件就是deque使用时添加头文件即可定义的方式:deque 容器名//定义一个储存int类型的双端队列 deque < double > q;//定义一个储存double类型的双端队列 deque < string > q;//定义一个储存string类型的双端队列 deque < 自定义结构体 > q;//还可以定义一个储存结构体或类的双端队列//定义一个储存int类型的双端队列数组 deque < double > q [ n ];

2023-02-08 19:32:41 1980 1

原创 c++ 树状数组模板

如果不需要修改,先对数组做前缀和,再用差分就可以实现多次O(1)查询了,例如数组:int f[6]={0,1,2,3,4,5},前缀和数组就是pre[6]={0,1,3,6,10,15},求1~3的区间和就是pre[3]-pre[0]=6-0=6,4~5的区间和就是pre[5]-pre[3]=15-6=9。假如位置3~5加上了5,第一个树状数组f2[3]+=5,f2[6]-=5,第二个树状数组维护f[3]+=2*5,f1[6]-=5*5。前缀和,就单单是前缀和那么简单,并没有那么复杂。

2023-02-08 14:53:36 693

原创 c++算法基础必刷题目——按位贪心

2、因为按位与、按位或、按位异或都是不会产生进位的,所以我们可以按位独立去考虑问题,某位不是1就是0,那么我们可以让那一位是1和0,查看结果再做判断,例如某一位是1时,经过一系列操作变成了0,是0时,经过一系列操作变成了1,那么就让该位是0是最合适的。1、1和10,1的二进制是0000 0001,10的二进制是0000 1010,找到第一位不同的,那就是第5位,那么选择的第一个数就是0000 1000,第二个数是0000 0111,答案是0000 1111,即15。接下来 𝑛 行,依次表示每一扇防御门。

2022-12-30 21:00:04 723 1

原创 c++算法基础必刷题目——贪心+公式推导

排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。,那么排序将是ABC,此时解是最优的,因为无论再交换任意两个大臣的位置,都会使得最大奖赏更大,假如B和C交换位置,那么第二位大臣奖赏减少,第三位大臣奖赏增加,但是此时第三位大臣的奖赏一定比交换之前第二位大臣的奖赏高,那么就说明了此时是最优的排序。注意,国王的位置始终在队伍的最前面。刚接触肯定会觉得难,多些做题多些用,熟悉了就容易了,兄弟萌,加油!

2022-12-29 20:06:28 1490

原创 c++算法基础必刷题目——贪心

贪心,有 5 各用空格隔开的整数,分别是 M,N,K,L,D(2 ≤ N,M ≤ 1000,0 ≤ K < M,0 ≤ L < N,D ≤ 2000)M,N,K,L,D(2≤N,M≤1000,0≤K

2022-12-29 16:57:47 1771

原创 c++算法基础必刷题目——指针优化

月月出于人类最单纯的好奇心,打开了华华的手机。月月顿时醋意大发,出于对好朋友的关心,为了避免华华浪费太多时间和其他网友聊天,她要删掉一些推荐好友。但是为了不让华华发现,产生猜疑,破坏了他们的友情,月月决定只删华华有可能搭讪的推荐好友。现在月月要快速的判断出哪些推荐好友要删掉,因为华华快回来了,时间紧迫,月月有点手忙脚乱,所以你赶紧写个程序帮帮她吧!输出N行,对于第i个推荐好友,如果华华可能向她搭讪,输出Yes,否则输出No。刚接触肯定会觉得难,多些做题多些用,熟悉了就容易了,兄弟萌,加油!

2022-12-29 15:05:36 1525

原创 c++算法基础必刷题目——递推

2、初始地,a[2]={1,1},i=0时,a[i]=1,那么状态dp[0][001]=1,dp[0][010]=1,i=1时,a[i]=1,那么状态dp[1][010]+=dp[0][001],dp[1][100]+=dp[0][010],仔细分析转移的关系即可,例如100可以由010以及110转移得到,011可以由001以及101转移得到,即前两位与前一个状态的后两位相等。第一行为N,第二行有N个数,依次为第二列的格子中的数。刚接触肯定会觉得难,多些做题多些用,熟悉了就容易了,兄弟萌,加油!

2022-12-28 23:18:46 1418 1

原创 c++算法基础必刷题目——尺取法

尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以说尺取法是一种高效的枚举区间的方法,是一种技巧,一般用于求取有一定限制的区间个数或最短的区间等等。牛客幼儿园的小朋友们围成了一个圆圈准备玩丢手绢的游戏,但是小朋友们太小了,不能围成一个均匀的圆圈,即每个小朋友的间隔可能会不一致。1、开始,l和r都在a点,目前不是最优状态,r往顺时针方向走到b,目前也不是最优状态,r往顺时针方向走到c,达到最优状态,记录答案。接下来的第2到第n行,第i行有一个整数,表示第i-1个小朋友顺时针到第i个小朋友的距离。

2022-12-27 19:30:46 831

原创 c++算法基础必刷题目——前缀和与差分

前缀和与差分算法主要是为了快速求出某个区间的和,例如有一个数组a[10]={0,1,2,3,4,5,6,7,8,9},我们需要求a[3]到a[7]的和,传统的办法是求a[3]+a[4]+a[5]+a[6]+a[7],但是这样求复杂度是O(n),如果我们建立了一个前缀数组S[9]={a[0],a[0]+a[1],a[0]+a[1]+a[2],a[0]+a[1]+a[2]+a[3],……4、枚举到a[3]时,前缀和后a[3]的状态是1,那么ans+=m[1],为什么呢。数轴上的每个整数点,即0,1,2,

2022-12-27 18:48:16 1519

原创 c++算法基础必刷题目——枚举

接下来的n行中,第i+1行表示编号i的地毯的信息,包含四个正整数a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b)以及地毯在x轴和y轴方向的长度。牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。一个8位数字是回文的,当且仅当对于所有的i ( 1

2022-12-26 20:52:57 1112

原创 c++算法基础必刷题目——模拟

在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子串,我们就把它当作一种简写,输出时,用连续递增的字母或数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。(1)遇到下面的情况需要做字符串的展开:在输入的字符串中,出现了减号“-”,减号两侧同为小写字母或同为数字,且按照ASCII码的顺序,减号右边的字符严格大于左边的字符。3、当集合满了的时候,再次添加单词时,需要根据双端队列删除最先加入的单词。

2022-12-26 20:08:27 1327

原创 c++旅行商问题 (暴力解)

TSP,即旅行商问题,又称TSP问题(Traveling SalesmanProblem),是数学领域中著名问题之一。假设有一个旅行商人要拜访N个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。TSP问题是一个NPC问题。

2022-11-24 19:42:33 2397 2

原创 c++ 旅行商问题(动态规划)

TSP,即旅行商问题,又称TSP问题(Traveling SalesmanProblem),是数学领域中著名问题之一。假设有一个旅行商人要拜访N个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。TSP问题是一个NPC问题。

2022-11-24 15:34:06 11092 13

原创 c++入门必学算法 质数筛

质数筛也叫素数筛,是求1到n之内素数的优化算法,质数筛有两种,埃氏筛和欧拉筛。埃氏筛的时间复杂度接近O(n*logn),而欧拉筛可以把复杂度降低到O(n),下面看两种算法的到底是如何一步步优化的吧埃氏筛的实现原理是比较简单的,使用的场景也比较广泛,但在个别的竞赛题中会卡这点时间,必须使用欧拉筛。欧拉筛理解的过程是有点难的,但在真正理解之后思路会非常清晰,看不懂就多看两遍加油咯!兄弟萌。

2022-11-14 14:55:25 6419 6

原创 c++ 图的重构识别

算法设计与分析实验,简单地理解,图的本质是一样的,只是表达的方式不同例如下图:它的同构图有:等等,可以发现,图的同构,实际也就是点的编号不同导致的,也就可以推导出,假如一个图能通过编号替换成为另一个图,那么这两个图就是同构的,否则就不是同构的二、图的表示方法图的表示方法有很多种,例如邻接表、邻接矩阵等等。显然地,图的同构用邻接矩阵表示比较方便。我们用两个图来当样例讲解该题我们思考一下,图2如何转换成图1呢?显然,将编号5改为1,将编号4改为3,将编号1改为4,将编号3改为5,就是和图1一模一样的了

2022-11-11 01:25:53 1196 4

原创 c++ unordered_map和map的区别

unordered中文翻译即 “无序的” ,自然地,unordered_map也就是不排序的map的意思。unordered_set与set和unordered_map与map是可以类比的,它们的区别大致是一样的。unordered_map在c++11加入的标准模板库,c++11以前是无法使用unordered_map、unordered_set、auto、stoi等标准模板的。unordered_map包含在unordered_map头文件中,即如果想要使用时,引入下面代码即可。

2022-11-05 00:50:31 10591 7

原创 c++入门必学库函数 memset

一、memset的介绍memset是c语言的string.h里的字符串初始化函数,但是也经常于普通数组的初始化,它的优点就是简单易用,一行代码就可以初始化数据了,当然这完全可以用for循环赋值代替的。二、memset的基本用法函数模板:memset(数组首地址,初始值,初始化大小)数组首地址:数组的首地址是可以直接用数组名代替的初始值: 初始值的范围是0到127,因为memset是以字节为单位对数组进行赋值的,一个字节8位,所表达的值就是0到127初始化大小: 初始化大小用一个整数表

2022-11-02 10:37:06 9754 5

原创 PyCharm 实用安装教程

PyCharm 是一种 Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。1、Pycharm 和 IntelliJ IDEA 一样,有旗舰版的,也有社区版的,区别就是旗舰版是付费的,拥有全部功能,而社区版只有小部分功能,不支持python以外的代码提示等,免费。

2022-11-02 00:11:37 208 1

原创 IntelliJ IDEA 实用安装教程

IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。1、IntelliJ IDEA 有旗舰版的,也有社区版的,区别就是旗舰版是付费的,拥有全部功能,而社区版只有小部分功能,不支持java以外的代码提示等,免费。11.Ctrl + Shift + U,Ctrl + Shift + Alt + U显示类继承结构图,再按Alt-M。

2022-11-01 23:43:45 1856 1

原创 Linux 环境搭建教程

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

2022-11-01 23:31:43 234

原创 Python3实用安装教程

1、python3 是用于编译运行的,它和jdk一样,它本来就是个可执行程序,PyCharm 只是调用 python3 来编译、运行的而已。命令行可以执行一切合法的python代码,下面简单演示使用 python3,在 python 根目录中找到 python.exe,打开运行即可。5、测试环境变量,如果结果如下图所示,那么可以跳过环境变量的配置了,如果显示python不是内部命令,那么需要手动配置环境变量。2、如果不勾选添加环境变量,那么安装好后需要自己配置,自定义安装可以选择安装路径,我们选择这个。

2022-11-01 23:25:46 8011

原创 Idea、Pychar、CLion免费使用教程

JetBrains 旗下有C/C++集成开发环境 CLion、python集成开发环境PyCharm、Java集成开发环境 IntelliJ IDEA该公司最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。6、申请后大概一天左右,邮箱就会收到一条信息,建议用电脑登录邮箱,点击下面链接,登录你的 jetbrains 账号进行绑定,绑定后就可以免费使用 jetbrains 公司的所有软件了,期限为1年,到期后可以续期免费。4、打开上面给出的地址,获取学校状态验证报告。

2022-11-01 23:23:46 3299

原创 Dev-C++ 实用安装教程

Dev-C++(或者叫做 Dev-Cpp)是 Windows 环境下的一个轻量级 C/C++ 集成开发环境(IDE)。它是一款自由软件,遵守GPL许可协议分发源代码。它集合了功能强大的源码编辑2012年2月28日的国际标准草案(N3376)是最接近于C++11标准的草案(仅编辑上的修正)。简单来说,c++11是一次重大的更新,加入了auto、unordered_map、unordered_set等关键字,添加了功能,c++11是一个分界,尽管现在c++已经更新到了c++20,当很多人仍然选择使用c++11。

2022-11-01 23:17:55 2851

原创 Maven 实用安装教程

于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。2、在conf目录下找到 setting.xml 配置文件,打开,将新建的 maven-repo 文件夹配置为 maven 的仓库。4、新建系统环境变量,变量名为MAVEN_HOME,变量值是刚才复制的maven路径。

2022-11-01 23:15:18 686 1

原创 Tomcat 实用安装教程

实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。我是不建议配置环境变量的,因为使用不同Tomcat时就会冲突,就是说如果配置好环境变量后,电脑就绑定了配置的Tomcat,你将无法使用其它的Tomcat。2、如果出现上面的页面,代表Tomcat运行成功了,此时不要关闭这个窗口,打开浏览器,在地址栏中输入 http://localhost:8080/ ,回车,会出现下面这个页面。

2022-11-01 23:11:45 3126 2

空空如也

空空如也

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

TA关注的人

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