自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 unity Aaimation Rigging使用多个约束导致部分约束失去作用

在应用多个约束时,在Hierarchy的顺序可能会影响最终的效果。例如先应用了Aim Constraint,然后再应用Two Bone Constraint,可能会导致Two Bone Constraint受到Aim Constraint的影响而失效。因此,在使用多个约束时,应该仔细考虑约束的层级顺序;

2024-02-23 13:29:39 570

原创 Unity AnimationRigging无法修改权重?

unity自带的动画系统是在FixUpdate和Update之后LateUpdate之前执行,如果在这FixedUpdate或Update函数内更新AnimationRigging内的权重后,内部动画系统会覆盖权重的修改,导致无法正确更新;所以要在 LateUpdate内修改权重,并且是每帧修改,也就是说必须时刻更新AnimationRigging的权重为你想要的值,不能在Start 函数中修改一次,那样也会不起作用;

2024-02-07 16:53:41 797

原创 Unity 射线检测(Raycast)检测图层(LayerMask)的设置

Raycast函数有很多重载(函数的重载根据函数的参数来决定)这里只涉及一下这个重载关于第四个参数:int layerMask;一开始时,我认为这里的int 就是在Inspector里图层的索引;如下图,被红色圈起来的就是图层的索引:我实现的这个射线检测无论怎样都无法检测出Player图层;其实这里第四个参数其实对应的是2^(索引);如果要获得Player图层的话,第四个参数应该填上2的6次方,也就是64才对;

2023-12-12 23:41:48 1336

原创 ACwing算法备战蓝桥杯——Day30——树状数组

树状数组是一种数据结构,能将对一个区间内数据进行修改和求前缀和的这两种操作的最坏时间复杂度降低到O(logn);

2023-12-11 18:36:54 632 1

原创 C# 静态构造函数与类的初始化

静态构造函数用于初始化任何数据。

2023-12-10 18:28:25 1029

原创 Unity 实现单例模式

单例模式:类只有一个实例,一般使用static来实现单例模式;比如:有一个Test类,实现了单例,假设这个唯一的实例名为SingTonle,实例在类内被实现并被static修饰,如此就可以直接用Test.SingTonle来访问这个实例;有很多种方式可以实现单例,最简单有效的是,饿汉模式简洁高效并且线程安全;不管程序需不需要用这个单例,在类被加载的时候都会创建这个实例,造成内存占用和浪费就是未实现"懒加载";但是影响不会很大,注意:上面这个程序不要使用默认的访问器,会报错;

2023-12-10 14:24:00 650

原创 c# 字段和属性(get、set、init)

属性是一种成员,它提供灵活的机制来读取、写入或计算私有字段的值。属性可用作公共数据成员,但它们是称为“访问器”的特殊方法。如果没有特殊需求,比如不想在get内实现一些特殊需求,只是想要获取私有变量的值,用默认写法方便快捷(set,init同样有默认写法);虽然可以用类内公有函数实现私有变量地获取(这是一般用来获取和修改私有成员变量地方法),但是相较于访问器来说,过于繁琐;注意:当要在初始化时给字段赋值时,要在花括号内实现;可以在类的初始化时给字段赋值,也可以不赋值。从 C# 11 开始,可以添加。

2023-12-07 16:57:20 1342

原创 C# 语法笔记

理解:一个类声明为抽象类(加上abstract),其派生类可以重写其内部的函数;在抽象类里声明为abstract的函数不能写出函数主体,只能声明,不能定义,不然会报错派生类不实现重写抽象类的抽象函数会报错重写抽象函数时无法改变访问修饰符将抽象函数声明为Virtual可以在不同的派生类里实现不同的方法。实测感觉直接用abstract也可以实现Virtual的这个功能,不知道Virtual还有没有其他特殊用法。

2023-12-05 22:59:42 1518

原创 Unity 使用NetCode for GameObject(NGO)实现联机

一、安装(Netcode for GameObject)NGOunity项目中想要设计联机游戏,需要安装与联网相关的资源包(NGO),新建的unity项目默认不包含这个资源包,并且NGO的安装需要unity版本在2021.3以上.(我的版本是2022.3)unity界面 => Window =>Pakage Manager => Unity Registry ;在搜索框中找到Netcode for GameObject;直接点击install;

2023-12-02 00:55:09 3365

原创 ACwing 算法备战蓝桥杯——Day26——背包DP

DP问题还有一个步骤就是优化代码,这里的优化和题目没有关系,只是对代码进行等价变形,把人的逻辑在代码层面进行压缩,在最精简的代码里获得复杂代码的等价效果。每组数据接下来有 Si 行,每行有两个整数 vij,wij,用空格隔开,分别表示第 i 个物品组的第 j 个物品的体积和价值;接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。

2023-04-02 15:26:20 200

原创 ACwing算法备战蓝桥杯——Day31——线段树

线段树是一种高级数据结构,能够求出动态区间内的最值问题;线段树实质上是二叉树,每个结点都是一个区间,其中根节点是最大区间,叶子结点是单个数据;每个区间被mid划分成左右两部分;左右结点的下标+这段区间的属性;pushup()函数;pushdown()函数;build()函数:将一段区间初始化为线段树包含一个pushup();根据单点修改或区间修改可以分成两种,大体相同;modeify()函数单点修改包含一个pushup();区间修改包含一个pushdown()与一个pushup();

2023-03-27 20:41:17 218

原创 ACwing算法备战蓝桥杯——Day28——区间DP

ps:一开始前两层我是从前往后枚举区间的左右端点坐标,这样做很显然是错的,因为这样做的话计算的逻辑不是从最小的集合开始逐步推出大集合,也就是说在计算大集合时,划分出来的小集合有的还没有被计算过。第一层为区间长度:因为每个区间都是由更短的区间得来,而枚举区间长度就能这样计算。状态表示:用二维状态f[i][j]表示合并成一个区间 [i,j] 的耗费最小值。第二层为区间的起始坐标:这样就确定了唯一一个区间,并且保证不重不漏;所有DP问题都是从前一个状态推出现在的状态。状态计算:将区间划分成更小的子区间。

2023-03-22 22:26:36 96

原创 ACwing算法备战蓝桥杯——Day27——线性DP

DP问题可以用闫氏DP分析法来做,这个方法的核心思想是用集合的思想来做。这就是为什么DP会比暴力搜索快,因为DP每次处理的是一个集合,暴力搜索每次求的是一种情况;其中状态表示也(就是集合表示)很难想出,只能靠做题积累题型来总结得出;

2023-03-22 12:41:53 77

原创 ACwing算法备战蓝桥杯——Day24——组合数

假设a中最后一个苹果为k,在所有选法中,只有选k的和不选 k的两种情况,分别对应c[a-1][b-1]与c[a-1][b]两种情况,也就有。根据a/b同余于a*(b的逆元),所以公式a!设C(b,a)为在a个数里选b个数的方案数,现要求C(b,a).(如果像方法1一样处理,会超时)这里有一个问题:就是我们在预处理fact[]时会进行mod处理防止数据过大(因为是阶乘会很大),采用递推的方法:c[a][b]=c[a-1][b]+c[a-1][b];c[a][b]表示在a里选b个数的方案个数。

2023-03-20 12:04:17 122

原创 ACwing算法备战蓝桥杯——Day23——快速幂与逆元

在将求(a^k mod p)的时间复杂度从O(k)降到O(log k);要注意的是,数据范围是否会爆int.

2023-03-15 22:36:36 117

原创 ACwing算法备战蓝桥杯——Day22——欧几里得算法(辗转相除法)

求最大公约数;

2023-03-15 00:24:28 94

原创 ACwing算法备战蓝桥杯——Day21——质数筛选

定义:质数,严格大于1,只能被自身或1整除的数.质数定理:一个正整数n内的质数个数为n/ln(n);

2023-03-13 22:22:44 84

原创 ACwing算法备战蓝桥杯——Day20——二分图

二分图中的结点只有两种属性,两个相邻两个结点只能具有不同的属性;可以抽象成将两种属性的点划分成两个集合,同一集合的点之间没有边;

2023-03-11 17:29:06 244

原创 ACwing算法备战蓝桥杯——Day19——最近公共祖先

描述:这个算法最关键的就是两个数组f[i,j],d[i];f[i,j]数组储存的是i向上移动2^j层能到达的结点;这两个数组要在进行倍增法前,用bfs算法进行预处理;d[i]数组储存的是每个结点的层数;

2023-03-09 22:19:50 65

原创 ACwing算法备战蓝桥杯——Day18——最短生成树

和dijistra算法差不多,但是prime求的是到集合的最短距离,dijistra求的是到某个点的最短距离。用的是并查集数据结构;

2023-03-09 00:10:48 56

原创 ACwing算法备战蓝桥杯——Day17——Floyd

求多源最短路,就是任意两点间的最短路.这个算法较为简单简单,就只是三重循环。

2023-03-08 09:03:33 57

原创 ACwing算法备战蓝桥杯——Day16——spfa

spfa是bellman_Ford算法的优化,基于dp。求带负权的最短路径;

2023-03-06 23:51:53 116

原创 ACwing算法备战蓝桥杯——刷题

【代码】ACwing算法备战蓝桥杯——刷题。

2023-03-06 00:08:34 398

原创 ACwing算法备战蓝桥杯——Day13——DFS

深度优先搜索,简称DFS.实质上就是递归,代码写法也是递归函数.

2023-03-03 23:51:48 56

原创 ACwing算法备战蓝桥杯——Day15——Dijkstra

简述:对于一个有编号为1~n的n个结点的有向图(权值为正),对于求点1到点n的最短路径。初始假设除第一个结点外,所有结点到结点1无路径(也就是每个点都与结点1不连通,可以设边(1,i)的权值为正无穷大来实现);第二步循环n次(每次确定一个最短路径点),寻找没有确定到结点1最短路径的点的这个集合中,权值最小的为下一个确定为最短路径的点,然后根据这个点的权值,更新未确定最短路径的点权值最后如果n的权值仍为无穷大,那么说明n与1不连通;否则输出点n的到1的距离;

2023-03-03 23:50:40 82

原创 ACwing算法备战蓝桥杯——Day14——拓扑排序

拓扑排序,若一个由图中所有点构成的序列A满足:对于图中的每条边(x,y)x在A中都出现在y之前,则称A是该图的一个拓扑序列。实质上是图的宽度优先遍历;

2023-03-02 21:48:59 120

原创 ACwing算法备战蓝桥杯——Day12——BFS

这些题都是通过距离数组储存来对层次进行计数和判断是否遍历过!暴力枚举每一个状态,时间复杂度高。就是树的层序遍历,利用队列维护。

2023-03-01 00:11:50 196

原创 ACwing算法备战蓝桥杯——Day11——Tire

Tire(字典树)作为一种数据结构。有两个作用,能够高效地储存和查找字符串。

2023-02-28 01:13:17 114

原创 刷题容易遇到关于scanf()的问题

有意思的是,如果把字符串数组大小设置为1,字符串数组没办法自动补"\0",无结束字符。会出现如下图所示的情况,也可推出空格被自动过滤.所以推出只要是字符串类型的输入,空格字符就能被过滤。scnaf返回数据正确输入的个数,如果没有输入流则输出-1;输入数据均为"A B C"(注意两个字母间均有空格)3.scanf("%*")可以抛弃一个输入数据。空白字符包括:空格符,换行符,制表符等;当输入数据类型是char时。当输入数据类型为字符串时。如:在vscode调试。输入数据均为"ABC"

2023-02-26 17:15:38 64

原创 蓝桥杯真题——四平方和——二分优化与哈希优化

【代码】蓝桥杯真题——四平方和——二分优化与哈希优化。

2023-02-18 18:01:50 36

原创 蓝桥杯真题——递推——翻硬币

【代码】蓝桥杯真题——递推——翻硬币。

2023-02-17 23:11:06 156

原创 ACwing算法备战蓝桥杯——Day5——递推

某些性质比如说最常见的“不是黑就是白”,“不是正就是反”,“不是开着就是关着”等;在以确定的状态的基础上递推,不用绕弯,按部就班地推演就行能得到答案。所以主要的问题就是确定数据的某些性质以及划定初始状态。根据已确定的状态推导其他的状态。

2023-02-17 22:59:08 157

原创 蓝桥杯真题——双指针——完全二叉树的权值

【代码】蓝桥杯真题——双指针——完全二叉树的权值。

2023-02-16 22:05:04 53

原创 蓝桥杯真题——双指针——日志统计(关于vector的size函数的返回值问题)

找了很久才发现下面这个循环永远不会执行,所以从循环条件入手,找到了这个易错点!

2023-02-16 21:07:04 115

原创 ACwing算法备战蓝桥杯——Day4——双指针算法

本篇博客为记录在学习双针算法时的理解以及分享一些实用技巧;

2023-02-16 20:32:49 101

原创 二分算法例题——特殊排序

关键点:对于每一个黑盒,都可以通过调用compare来获悉其与其他黑盒的大小关系,要么为大于,要么为小于.根据这个特性,对于任意一个黑盒,我们假设已经有一部分黑盒已经排好了序,这部分已完成的黑盒与当前黑盒的大小关系抽象成折线图,大于表示以上一条折线的终点为起点画一条斜率为负的折线,小于则画斜率为正的折线,最后只要找到这条连续折线上的极大值点,就是我们将要插入的新的黑盒的位置,满足左小右大;现在要按每个黑盒满足左小于右的顺序输出对应的编号。

2023-02-16 06:00:00 46

原创 ACwing算法备战蓝桥杯——Day3——二分

二分要注意的有两个:1.边界情况的判定:做题只需要记住其中一种正确的方法就行,因为这些方法都是前辈们经过不断实践得出来的,绝对不会出现纰漏。我们学习知识绝大部分都是一个学习的过程,而非创新过程;2.二分的二段性:如何去寻找二段性,应该是最难的一部分,也就是我们思考的过程;刷题总结:1.今天刷题发现做题时的思维不清晰,这是个很大的问题,虽然能做出来,但是效率低下,必须改进;2.应该将重心放在对已学知识的巩固上,比如说将模板题多敲几遍,以及对代码的深入与拓展,多对自己问为什么;

2023-02-16 01:03:25 113

原创 ACwing算法备战蓝桥杯——Day2——差分

假设有一个递增序列s[N],有一个序列a[N]满足{ a1=s1 , a2=s2-s1 , a3=s3-s2 ..... an=sn-sn- 1 }那么a序列就称为s序列的差分序列;有一个数组a[n],其对应的差分数组b[n]为b1=a1,b2=a2-a1,b3=a3-a2......bn=an-an-1;如果要对原数组的[l,r]区间上的数同时增加一个大小为c的数,暴力给每个数加上c,时间复杂度为O(n),在其对应的差分数组上。

2023-02-15 00:22:14 158

原创 蓝桥杯(ACwing)——前缀和——k倍区间

值得一提的是,依然要使用long long来储存前缀和(取极限,储存1e5个1e5,数据量达到1e9次方以上,会“爆int",),并且答案res,取极限,也会爆int.任意一个前缀和可以表示为ak+b(a,b是正整数,a表示倍数,b表示前缀和对k求模),如果有另一个前缀和具有同样的。) 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K倍区间。使用暴力做法只能过两组测试样例,其他都超时;以下 N行每行包含一个整数 Ai(1≤。输出一个整数,代表 K倍区间的数目。第一行包含两个整数 N和 K(1≤。

2023-02-14 14:35:09 69

原创 ACwing算法备战蓝桥杯——day1——前缀和

2.数据范围,假设全部数据都为当前数据可达到的最大值1e4,数据总量为1e5,所以最后一个前缀 和为1e9,又int的最大值为1e9,所以会"爆int",需设置成long long即可;代码62行寻找第三段满足s[n]/3的点 ( 当第三段和第一段都满足时,中间一段自然满足s[n]/3 ),关键点为代码61行,用cnt记录枚举过的数据中每个前缀和满足s[n]/3的次数,也就是第一段;今日份刷题:截断数组,前缀和,子矩阵和,激光炸弹,区域和检索,数组的中心下标,前缀和序列。

2023-02-14 00:25:36 165

空空如也

空空如也

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

TA关注的人

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