自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【力扣】设计内存分配器(高效实现)

释放时,遍历对应链表,将链表上的内存块依次放回freeSet中,但注意每放回一块内存块时,还需要检查该内存块在freeSet左右是否有相连的内存块,有的话需要合并,好在set提供的迭代器能在O(1)时间找到相邻内存块。int free(int mID) 释放 id mID 对应的所有内存单元。给你一个整数 n ,表示下标从 0 开始的内存数组的大小。你必须释放 mID 对应的所有内存单元,即便这些内存单元被分配在不同的块中。当分配一块大小为n,id为mID的内存块时,就把该内存块添加到对应链表上。

2023-07-06 21:32:36 331

原创 【“宏孩儿”入门】通过宏定义将类型和函数结构解耦

想象这样一个场景,我们有一个表结构体StudentInfo,同时用数组存储它作为一张表,我们需要提供一套根据Key来增删改查的函数操作这张表。我们仔细观察增删改查函数时会发现,除了操作的表,key不同外,代码结构上是相同的,那怎么让表和函数结构解耦呢?(这里可能有聪明的小伙伴会想到为什么不用哈希表来存储,这样不就自带一套根据Key来增删改查函数了吗?是的一般情况下可以这样,但也有些情景下不能使用哈希表,比如UE中TSet不支持同步。因为表可能是私有成员同时还需要用到表的key,所以用模板还不太好解决。

2023-07-03 16:47:41 181

原创 【虚幻引擎|UE4】TArray在C++中的使用

TArray 类似于STL的vector,可以自动扩容,因为提供了相关操作函数,所以当作队列、栈、堆来使用也很方便,是UE4中最常用的容器类。其速度快、内存消耗小、安全性高。TArray 类型由两大属性定义:元素类型和可选分配器。可以前往官方文档TArray查看更详细介绍。

2023-04-27 18:14:58 1554

原创 【OpenGL】基础光照

现实世界中的光照是极其复杂,难以计算的,因此OpenGL的光照使用的是简化的模型,其中一个模型被称为冯氏光照模型环境(Ambient)光照漫反射(Diffuse)光照镜面(Specular)光照。

2023-01-08 13:50:04 1163

原创 C++ 使用Socket实现主机间的UDP/TCP通信

服务器端的代码做了跨平台(POSIX和WINDOWS),基于POSIX平台(Linux、Mac OS X、PlayStation等)使用sys/socket.h库,windows平台使用winsock2.h库。客户端代码因为基本都在windows运行,所以没做跨平台,需要的话你可以参考服务器端代码自己做一下。文中写的函数原型均为windows平台,部分函数的返回类型或参数类型在POSIX会有不同。

2023-01-03 14:06:23 3259 5

原创 【Lua】协程

从多线程的角度看,协程(Coroutine)与线程(thread)类似:协程是一系列的可执行语句,拥有自己的栈、局部变量和指令指针,同时协程又与其它协程共享全局变量和其它几乎一切资源。线程和协程的主要区别:一个多线程程序可以同时并行运行多条线程,而协程却需要彼此协作地运行,即在任意时刻只能有一个协程运行,且协程的切换是在用户态手动控制的,只有当正在运行的协程显示的要求被挂起(suspend)时,其执行才会暂停。

2022-09-24 00:11:29 487

原创 【虚幻引擎】实现类LOL缓慢扣血血条

---跟随血条等待一会后,循环减到真血条百分比。一个在前面显示深红的真血条,但是背景条完全透明;我习惯用Lua,所以用Lua演示,思路是一样的。一个在背后显示淡红的跟随血条,背景条不透明。----跟随血条直接跳到真血条位置。分两个进度条重叠放,

2022-09-07 21:54:28 875

原创 【力扣周赛第305场】全题题解

这次周赛四题都出的比较简单,一道构建与遍历图和三道线性动规的题。

2022-08-07 22:37:03 437

原创 【C++】访问的控制与继承

访问说明符访问修饰符本类内友元子类内类外private√√××protected√√√×public√√√√样例:#include<iostream>using namespace std;class A { int a; //默认为privatepublic: int b;protected: int c;private: int d;public: void func() { //类内都

2022-05-12 09:42:29 295

原创 git下载子模块失败问题解决办法

github上的项目如果下载太慢或失败可以通过修改镜像源(比如在原下载路径github.com后插入.cnpmjs.org/)来解决:git clone https://github.com.cnpmjs.org/xxx.git但是如果项目含有子模块,默认是不会下载的,需要添加–recursive参数下载,但是这样下载子模块时并不会用到镜像源,可以参考下面的解决办法:首先先通过修改镜像源的方式(以gitclone.com举例)只下载项目:git clone https://gitclone.com

2022-05-02 23:53:29 2394 1

原创 用桌面图标模拟FlappyBird游戏

实现效果操作说明空格控制开始与游戏中的跳跃。ESC键结束程序。实现逻辑首先需要了解一下桌面图标的一些api,例如获取屏幕长宽,设置图标坐标这些,代码里有注释游戏逻辑:鸟:给他一个速度量和重力加速度量,初始速度为0,始终受到重力加速度影响,每当按下跳跃,将速度重设为一个跳跃速度量。墙:在墙的图标个数中随机取一个数,多于这个数的图标的y轴值加上图标大小*3(3指空三格),即可做到随机生成裂口。然后每次刷新让墙的所有图标的x轴值减少,即可做到墙的移动。碰撞检测:当鸟的坐标加一个身位会与墙

2021-10-12 21:19:20 978

原创 [lua]获取随机数

lua的math.random函数可以返回伪随机数.调用方式取值范围math.random()[0,1)math.random(max)[1,max]math.random(min, max)[min,max]注意:在一个程序启动时,默认固定以1为种子初始化随机数发生器,也就是说每次程序启动运行返回的都是固定顺序的伪随机数序列.如果需要每次启动都返回不同的随机数序列则可以通过调用math.randomseed(os.time()) 手动设定种子....

2021-06-16 18:43:34 1286

原创 unity3d-对象池

简介在游戏中经常会需要大量创建与销毁对象(比如子弹),而这样是很消耗性能的,如果我们事先创建一些对象把它们存起来,当需要时就把从里面取,当要销毁时就把它再放进去这样就不用重复大量创建与销毁对象了。实现样例先创建一个类取名为ObjectPool,作为相应的对象池。其中首先需要一个容器用于存储对象,这里选用队列就很适合,public Queue<GameObject> pool = new Queue<GameObject>()然后需要方法预先给容器存放一些对象public

2020-11-30 22:38:03 368

原创 【数据结构】优先队列

特征和入队顺序无关,总是最大的元素优先出队。如果说栈是每次输最近进入的元素,队列是每次输出最先进入的元素,那么优先队列就是每次输出优先级最大的元素。API优先队列是一种抽象数据类型,他表示了一组值和对这些值的一些操作。我们不一定要用某种固定的存储和操作方式来实现它,只要满足它的特征那它就是优先队列。但怎样才能高效实现它呢?先列出一份API:public class MAXPQ<T extends Comparable>用途MaxPQ()创建一个优先队列Ma

2020-11-26 11:13:27 531 4

原创 【洛谷-图论】P1807 最长路

题目描述设 GGG 为有 nnn 个顶点的带权有向无环图,GGG 中各顶点的编号为 111 到 nnn,请设计算法,计算图 GGG 中 <1,n>\lt1,n\gt<1,n> 间的最 长路径。输入输出格式输入格式输入的第一行有两个整数,分别代表图的点数 nnn 和边数 mmm。第 222 到第 (m+1)(m + 1)(m+1) 行,每行 333 个整数 u,v,wu, v, wu,v,w,代表存在一条从 uuu 到 vvv 边权为 www 的边。输出格式输出一行一个整

2020-11-04 16:16:54 620

原创 【洛谷-拓扑排序】P4017 最大食物链计数

题目背景你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。题目描述给你一个食物网,你要求出这个食物网中最大食物链的数量。(这里的“最大食物链”,指的是生物学意义上的食物链,即最左端是不会捕食其他生物的生产者,最右端是不会被其他生物捕食的消费者。)Delia 非常急,所以你只有 111 秒的时间。由于这个结果可能过大,你只需要输出总数模上 8011200280112002801120

2020-11-02 15:08:35 279

原创 【洛谷-贪心、递推】P5019 铺设道路

题目描述春春是一名道路工程师,负责铺设一条长度为 nnn 的道路。铺设道路的主要工作是填平下陷的地表。整段道路可以看作是 nnn 块首尾相连的区域,一开始,第 iii 块区域下陷的深度为 did_idi​ 。春春每天可以选择一段连续区间[L,R][L,R][L,R] ,填充这段区间中的每块区域,让其下陷深度减少 111。在选择区间时,需要保证,区间内的 每块区域在填充前下陷深度均不为 000 。春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为 000 。输入输出格式输入

2020-10-15 17:37:35 157

原创 【洛谷-分治】P1908 逆序对

题目描述猫猫 TOM 和小老鼠 JERRY 最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中 ai>aja_i \gt a_jai​>aj​ 且 i<ji \lt ji<j 的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。注意序列中可能有重复数字。Update:数据已加强。输入输出格式

2020-10-13 10:41:14 291

原创 【洛谷-递推】P1036 选数

题目描述已知 nnn 个整数 x1,x2,…,xnx_1,x_2,…,x_nx1​,x2​,…,xn​,以及111个整数kkk(KaTeX parse error: Expected 'EOF', got '&' at position 2: k&̲lt;n)。从nnn个整数中任选kkk个整数相加,可分别得到一系列的和。例如当n=4,k=3n=4,k=3n=4,k=3,444个整数分别为3,7,12,193,7,12,193,7,12,19时,可得全部的组合与它们的和为:3+7+12=2

2020-10-12 10:50:12 128

原创 【python爬虫】爬取洛谷习题并转为md格式

背景因为自己经常需要把做过的题目记录为博文,为了让读者方便阅读所以还要把题目摘过来,但直接在网页复制粘贴再转格式太麻烦了,就想着写个脚本爬下来并自动转为md格式,就不用在复制题目上浪费时间了。下面是编写流程。逻辑分析爬取逻辑从题库中可以看出题目编号是从1000开始连着的,所以都没必要模拟分页了(特殊题号会提供方法直接获取md),直接https://www.luogu.com.cn/problem/+题目编号就为题目网页。主函数:def main(): print("计划爬取到P{}".

2020-10-03 13:46:15 1939

原创 【洛谷习题】P5318 【深基18.例3】查找文献

题目描述小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。假设洛谷博客里面一共有 n(n<10510^5105) 篇文章(编号为 1 到 n)以及 m(m<10610^6106)条参考文献引用关系。目前小 K 已经打开了编号为 1 的一篇文章,请帮助小 K 设计一种方法,使小 K 可以不重复、不遗漏的看完所有他能看到

2020-09-16 18:43:57 669

原创 解决JS中文乱码问题

有时候,资源文件在开发环境中显示是正常的,而运行后就出现中文乱码的情况,可能原因有很多,我把我的解决办法列举出来,希望能帮到你在js引入位置添加charset=“utf-8”<script charset="utf-8" src="js/init.js"></script>修改tomcat安装目录下的conf/server.xml,在如下位置添加 URIEncoding=“utf-8”修改tomcat安装目录下的bin/catalina.bat,在如下位置添.

2020-09-02 08:57:56 3645

原创 原生JS实现可折叠导航栏

实现效果制作过程首先页面分为两个div,一个导航一个内容。其中内容中需要一个按钮用来控制折叠。<div class="left-nav"></div><div class="cont"> <button>按钮</button></div>加入样式.left-nav{ width:280px; height:1000px; background:#343A40; position: fixed; left:

2020-08-13 22:55:03 1630 2

原创 【洛谷习题】P1093 奖学金

题目描述某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。例如,在某个正确答

2020-08-07 21:27:03 596

原创 【洛谷习题】P1923 【深基9.例4】求第k小的数

题目描述输入 n(n<5000000 且 n 为奇数) 个数字 a_i(0<a_i<10^9) 输出这些数字的第 k 小的数。最小的数是第 0 小。输入格式无输出格式无输入输出样例输入5 14 3 2 1 5输出2思路与解法看到这题首先想到的是用快排排序,然后输出第k个元素即可,但是算了下时间,快排的时间复杂度是O(nlogn),带入5000000大约为1.11*10^8,刚好会超时(不过用O2能过),所以还需要再优化。目的是找到第k小的数,所以对所有数排序,显

2020-08-06 22:43:53 1391

原创 ajax与后台之间传递多个对象方法

ajax传递多组对象给后台如果是需要通过ajax传递数组给后台,可以使用JSON.stringify()函数将JS数组转为json字符串,然后后台通过@RequestBody注解修饰,将前台传来的json字符串转为对应的参数类型。前台$.ajax({ type: "post",//注意不能用get dataType: 'json', //指定参数类型 url: "customerInfoCT/limitQuery", contentType: 'application/json;ch

2020-07-30 21:42:37 1890

原创 MYSQL - 函数

总结一些MYSQL中的函数,主要内容都参考自《MYSQL必知必会》。数据处理函数数据处理函数大致分为以下几种:用于处理文本串的文本函数用于对数值数据进行算术操作的数值函数用于处理日期时间的日期和时间函数返回DBMS正使用的特殊信息的系统函数文本函数常用文本函数:函数说明Left()返回串左边的字符Length()返回串的长度Locate()找出串的一个子串Lower()将串转换为小写LTrim()去除串左边的空格Right()

2020-07-24 20:49:22 94

原创 mysql - 数据的过滤

where

2020-07-22 21:29:05 150 2

原创 在网页中使用矢量图标

做网页时常常需要用到一些标志性的小图标可以通过放置小图标的图片来实现,但也可以通过使用矢量图标来做,使用矢量图标的好处是,可以在放大时保持清晰度。做法这里以阿里巴巴矢量图标库为例,打开网址www.iconfont.cn搜索你需要用到的图标,将他们放入购物车添加进项目中到该项目中,选择下载到本地,并放入项目目录下载解压后,可以通过打开demo_index.html文件查看使用说明在需要用到矢量图标的网页的style文件中,添加字体,注意选择对应文件路径@font-face {

2020-07-09 19:08:51 669

原创 【洛谷习题】P1255 数楼梯

题目描述楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。输入格式一个数字,楼梯数。输出格式走的方式几种。输入样例4输出样例5说明/提示60% N<=50100% N<=5000)思路与解法根据题意会发现,到每阶楼梯的走法数量和斐波那契数列很相像,都是f[i] = f[i-2]+f[i-1],但基准情况有点不同,先总结出该题公式于是完全按公式写出一个解法#include<iostream>using nam

2020-07-06 17:38:45 732

原创 蓝桥杯11届B组H题-走方格

题目问题描述  在平面上有一些二维的点阵.  这些点的编号就像二维数组的编号一样,从上到下依次为第1至第n行。从左到右依次为第1至第m列,每一个点可以用行号和列号来表示。  现在有个人站在第1行第1列,要走到第n行第m列。只能向右或者向下走。  注意,如果行号和列号都是偶数,不能走入这一格中。  问有多少种方案。输入格式输入一行包含两个整数n,m。输出格式输出一个整数,表示答案。样例输入3 4样例输出2思路看见走方格的题,首先就想到了用dfs或bfs来解决,但是该题并不是求最

2020-07-05 15:40:49 591

原创 Java集合类常用方法-Collection篇

CollectionCollection<String> coll = new ArrayList<String>();Collection<String> collTmp = new ArrayList<String>();coll.add("a"); //添加元素collTmp.add("b");collTmp.add("c");coll.addAll(collTmp); //添加指定集合中所有元素System.o

2020-06-07 09:33:44 153

原创 [Unity3d项目]-校园疫情模拟

简介之前看一个用unity3d做的疫情模拟的视频感觉挺有意思的,而我正好也在学这个,眼看现在就要开学了,就想着按照我们学校做一个具体全面一点的疫情模拟。于是就开始了制作。下载地址在最下面。制作流程构思首先第一步不是直接开始创建项目,而是写了一份大纲文档,构思制作的可行性,需要实现哪些功能,界面怎样布局,这一步花了不少时间,但有了它就可以节省开发过程中浪费的大量构思时间(深有体会)。因为是做疫情模拟,数据量很大,所以其它方面要尽量抽象,突出重点也节省性能,所去找了张校园俯视图,然后绘制了一张抽象地

2020-06-02 21:23:12 2081 4

原创 用对数器测试算法是否正确

float xn,xm; //到达边缘前,每段走的n和m int yun,yum; //剩余距离 int ixn,ixm;bool lowd(float n,float m,float d){ return n*n+m*m <= d*d;}int func1(int n,int m,int d){ n--;m--; int t = 0; int r = 0,c = 0; //小明的坐标 xn = d/sqrt(n*

2020-05-08 16:23:43 227

原创 动规习题-间隔选数求最大和

题目现有一个含有n个正整数的数列,从中选择任意个数,但选了第i个数,就不能选第i-1和第i+1的数,求选择的数的最大和。输入第一行为一个n,表示数的个数,第二行为n个数表示数列输出选数最大和。样例输入:54 1 1 9 1样例输出:13思路先根据题意想递推式,从左到右遍历,每一个数都有选与不选两个选项,那么求前i个数的最大选数和opt(i),可以分为选第i个数和不选,如果选了,...

2020-05-08 16:06:08 817

原创 十一届蓝桥杯省模拟赛第十题(淹没城堡)

题目有一片长n宽m的地方,上面有n个方块,该地图是立体的,所以方块可以叠加,地图数值代表在该坐标下有叠加的方块个数,现在有高h的水要淹没这片地方,请输出从水高度为1~h,被淹没的方块个数分别为多少。样例输入输入第一行为n和m,表示地图长和宽,然后是n行,每行m个数表示方块个数,最后一行输入一个h表示水的最高高度。3 49 3 3 13 3 3 00 0 0 010样例输出71...

2020-04-21 19:14:07 346

原创 win10查看与关闭端口占用方法

做开发有的时候会发现某一端口被占用了而导致不能正常启动服务,这个时候就需要把这个端口释放掉了,步骤如下观察报错信息提示,了解是哪个端口号被占用按win+r输入cmd打开控制台,输入netstat -aon|findstr“8700”.可以看到是进程号为10744的程序占用了该端口号关闭该进程,指令为taskkill -PID 进程号 -F补充另一种关闭方式,先用指令taskl...

2020-03-11 11:12:34 1279

原创 关于启动spring项目时报'找不到元素 'beans' 的声明。'错误的解决办法

当报这个错时一般是在项目的applicationContext.xml(或者取名为beans.xml文件的如图这段代码出了问题<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans " xmlns:xsi="http://ww...

2020-02-22 01:22:54 1405

原创 关于访问Servlet报404问题解决办法

有时新建的jsp文件访问servlet莫名报404错误,可能是如下原因. 没有在web.xml中配置映射路径<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml...

2019-11-23 23:35:50 9381

原创 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path错误解决办法

当代码头<%@报这个“The superclass “javax.servlet.http.HttpServlet” was notfound on the Java Build Path”错误时,可能是项目没有添加tomcat库导致的,解决办法如下:找到报错的项目,右击选择Build Path >> Configure Build Path…依次选择Java B...

2019-11-23 16:09:36 4838 4

空空如也

空空如也

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

TA关注的人

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