• 2025-01-21How to implement a software layer
    HowLayersShouldBeRealizedThematterofhowlayersshouldberealizedisdeterminedbytheclient-servernatureoftherelationshipbetweenanapplicationanditsplatform/virtualmachine.Thisincludessomecharacteristicsoflayersdiscussedpreviou
  • 2025-01-21线段树
    线段树是算法竞赛中常用的用来维护区间信息的数据结构。线段树可以在O(logN)的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。建树voidbuild(intk,intl,intr){if(l==k){sum[k]=a[l];return0;
  • 2025-01-21题解:洛谷 P4879 ycz的妹子
    题目https://www.luogu.com.cn/problem/P4879感觉还比较简单的线段树。首先我们先建立一棵线段树(范围:)。voidbuild(intk,intl,intr){ tr[k]={l,r}; if(l==r){ Tree[k]=a[l],c[k]=(l<=n); return; } intmid=(l+r)>>1ll; build(k<<1ll,l,mid); build((k<<1ll)|1l
  • 2025-01-21「全网最细 + 实战源码案例」设计模式——六大设计原则
    目的提高软件系统的可维护性和可复用性,增加软件的可拓展性和灵活性,程序员遵循6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。开闭原则(OCP)核心思想1.对拓展开放软件模块应该在不修改原有代码的情况下,通过扩展的方式增加新功能。目标:提高系统的可
  • 2025-01-21策略模式和职责链模式实现坦克大战
    目录:一个实例讲完23种设计模式当前:策略模式职责链观察者上一篇《命令模式坦克大战简单实现(java实现)》需求:坦克大战创建两种坦克坦克类型射程速度b7070米时/70公里b5050米时/70公里简单说明一下:这任然用坦克大战的需求,实现了如下3种模式策略职责链观察者(这里的观察
  • 2025-01-21请解释下href="javascript:void(0)"和href="#"的区别是什么?
    在前端开发中,href="javascript:void(0)"和href="#"都是常见的用于阻止链接默认行为的技巧,但它们之间有一些重要的区别。功能:href="javascript:void(0)":这个语句会执行JavaScript函数void(0),该函数返回undefined,从而阻止链接的默认行为(即跳转到新页面或重新加载当前
  • 2025-01-20树状数组
    l(x)=x-lowbit(x)+1。即,l(x)是c[x]管辖范围的左端点。对于任意正整数x,总能将x表示成s*2^{k+1}+2^k的形式,其中lowbit(x)=2^k。下面「c[x]和c[y]不交」指c[x]的管辖范围和c[y]的管辖范围不相交,即[l(x),x]和[l(y),y]不相交。「c[x]包含于c[y]」
  • 2025-01-20数据结构——栈
    1、栈的概念(1)是一种特殊的线性表,只能在一端进行插入或删除操作(2)逻辑结构:线性结构;存储结构:既可以是顺序存储,也可以是链式存储(3)栈顶:允许插入或删除的一端(4)栈底:不允许插入或删除的一端,位置固定不变(5)空栈:栈中没有元素(6)使用特点:LIFO(后进先出)2、操作#define_CRT_SECURE_NO_
  • 2025-01-20串口通信
    [[Pastedimage20250120124904.png]]也就是通过USB等接口对单片机实现通信简单双向串口通信有两根通信线(发送端TXD和接收端RXD)电平标准不一致时,需要电平转换芯片且TXD与RXD要交叉连接![[Pastedimage20250120125636.png]]电平标准其实就是用不同的电压表示1与0![[Pasted
  • 2025-01-20Unity3D中的OnTrigger和OnCollision
    Unity中的OnTrigger和OnCollision详解1.基本概念在做游戏开发中,几乎所有项目都会用到碰撞,常见的方法是为游戏对象添加Rigidbody和Collider组件,在检测或处理两个游戏对象碰撞或触发时通常会用到Unity中自带的OnTrigger和OnCollision方法,下面就浅介绍一下使用方法和区别。
  • 2025-01-20[BZOJ3160] 万径人踪灭 题解
    首先正难则反,想到答案即为满足第一条要求的回文子序列数量,减去回文子串数量。回文子串数量\(hash+\)二分即可,考虑前半部分。假如我们将一个回文子序列一层层剥开,就会发现它其实是由多个相同的字母对拼成的。那么容易想到把字母\(a\)和字母\(b\)的贡献分开计算。那第一条要
  • 2025-01-19[实现Rpc] 环境搭建 | JsonCpp | Mudou库 | callBack()
    目录1.项目介绍2.技术选型3.开发环境和环境搭建Ubuntu-22.04环境搭建1.安装wget(一般情况下默认会自带)2.更换国内软件源①备份原始/etc/apt/sources.list文件②编辑软件源文件③更新软件包列表3.安装常用工具3.1安装lrzsz传输工具3.2安装编译器gcc
  • 2025-01-19内部类
    内部类概念内部类的概念:将一个类定义在另一个类中内部类的分类按定义的位置来分成员内部内,类定义在了成员位置(类中方法外称为成员位置,无static修饰的内部类)静态内部类,类定义在了成员位置(类中方法外称为成员位置,有static修饰的内部类)局部内部类,类定义在方法内匿名
  • 2025-01-19UE学习日志#3 GAS--ASC源码简要分析1
    嘿我跟您说这坑一点也不大,AbilitySystemComponent.h也就两千行,.cpp也就三千多,乐凡事要一点点来,我也就按每天的进度分p了。1类的继承关系和修饰符先看这两行,为了方便看我加了换行UCLASS(ClassGroup=AbilitySystem,hidecategories=(Object,LOD,Lighting,Transform,Sockets
  • 2025-01-19第三天算法设计
    插入排序需求:排序前:{4,3,2,10,12,1,5,6}排序后:{1,2,3,4,5,6,10,12}算法设计:Insertion类:packagesuanfa;publicclassInsertion{publicstaticvoidsort(Comparable[]a){for(inti=1;i<a.length;i++){for(intj=i;j>0;j--){if(greater(a[j-
  • 2025-01-19外中断引脚测试NVIC中断系统功能&USART程序设计
    文章目录一、STM32之NVIC中断系统二、外中断引脚测试NVIC中断系统功能三、STN32外设之USART四、USART程序设计&总结详解一、STM32之NVIC中断系统(一)、中断处理机制:NVIC的定义:NVIC又叫嵌套向量中断控制器,属于CM4内核。它控制着整个芯片中断相关的功能,是内核的一个外设
  • 2025-01-19抽象类和接口
    抽象类和接口一.抽象类和抽象方法1.概述2.特点二.接口1.定义2.语法3.特点4.接口和类的关系三.接口的继承四.default方法五.抽象类和接口的区别六.Comparable接口一.抽象类和抽象方法1.概述在Java中,—个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该
  • 2025-01-19【Java】Java UML 类图绘制解析:结构与工具类型详解
    前言常用UML绘图工具1、VisualParadigm2.Lucidchart3.Draw.io(现名diagrams.net)4.PlantUML(推荐)5.StarUML类与类之间的关系UML中的关系是面向对象关系。
  • 2025-01-19Java-抽象方法
    抽象方法:●抽象方法:将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容是不一样,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。●抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类●抽象方法的定义格式:publicabstract返回值类型方
  • 2025-01-19java—接口
    接口:是一种规则,是对行为的抽象。接口的定义和使用接口用关键字interface来定义publicinterface接口名{}接口不能实例化接口和类之间是实现关系,通过implements关键字表示publicclass类名implements接口名{}接口的子类(实现类)要么重写接口中的所有抽象方法要么是抽
  • 2025-01-19AndroidStudio:GPS定位与网络定位定位服务
    前言:如今主流的定位方式有两种:GPS定位和网络定位。GPS即通过卫星定位,网络定位则需要通过手机附近的基站,WIFI等确定位置信息。二者的优缺点各有不同,Gps较为精准但是耗电量大,网络定位功耗小但是不精确。这篇文章会以LocationManager为例,讲解如何在Androidstudio中使用这两种定位
  • 2025-01-19java 方法的定义
    什么是方法(类似于函数)System.out.println()//调用系统out中的println方法类对象方法方法的定义及调用方法定义:修饰符:public,static,....返回值:int,void...方法名:驼峰命名规则参数类型:(形参—用来定义参数add(inta,intb)——inta,intb),(实参—实际传递
  • 2025-01-19P8456 「SWTR-8」地地铁铁
    题意给定一张\(n\)点\(m\)边的01权无向图,求\((x,y)\)无序点对的数量使得\(x,y\)两点间存在一条同时经过0权边和1权边的简单路径。简单路径的定义是不经过重复点的路径。\(n\le4\times10^5,m\le10^6\)。分析路径问题考虑缩点,因为简单路径的定义是不经过重复点
  • 2025-01-19单件模式的困境与替代方案
    引言简要介绍单件模式的定义和常见用途。提出单件模式在实际开发中存在的问题,尤其是多线程环境下的复杂性。说明本文将探讨单件模式的困境,并提供几种替代方案。1.单件模式的困境1.1多线程场景下的复杂性问题:多线程环境下,单件模式的实现需要考虑线程安全问题。双重
  • 2025-01-18例题_树基础 P5318
    洛谷P5318分析关键词n篇文章m条参考文献引用关系x文章有y参考文献BFS&&DFS结果步骤定义不仅要定义关键词,还要再定义一个容器这里用\(set\)set<int>e[100009];注意要初始化输入输入nmxy这几个关键字计算过程分两步深搜广搜输出先调用函数,在