- 博客(27)
- 收藏
- 关注
原创 春晚魔术[蓝桥双周赛]
而后,他挥动魔术棒,念动咒语“福禄寿喜财神到~”,对红包里的金币进行 NN 次变换。每次变换,每个红包的金币数量都会变成其他两个红包金币数量的乘积。接下来的 TT 行,每行包含四个整数 AA,BB,CC 和 NN(1≤A,B,C,N≤1091≤A,B,C,N≤109),表示一组数据。对于每组数据,输出一个整数,表示 NN 次变换后三个红包金币数量的总乘积。作为观众,请你计算 NN 次变换后,三个红包金币数量的总乘积。根据费马小定理表明, p是一个质数,且 a 是一个整数,且a不被 p 整除,那么。
2025-02-09 16:49:20
432
原创 Lua调用C#
在前面我们学习了两个特性[CSharpCallLua]和[LuaCallCSharp],其中[CSharpCallLua]主要是用于接口与委托,[LuaCallCSharp]用在拓展方法前面,也可以在每个被Lua调用的类都加,这样可以提升性能。对于out, 会以多返回值形式返回给lua,如果函数存在返回值,那么第一个值就是该返回值,之后的返回值就是out的结果,Out参数不需要传一个默认值占位置。委托在lua中与在C#中差不多,但是如果第一次往委托中加函数,会是nil,不能直接+,要先=
2025-01-12 14:58:16
1294
原创 C#调用Lua
构建一个lua解析器,使得能够在unity中执行lua语言,提供的方法主要有:DoString(),Tick(),Dispose().此时调用lua脚本我们要将他放在Resources文件夹里面,且要修改lua脚本的后缀为.txt。在之前的使用中,我们多次用到LuaTable,在LuaMgr的定义中我们知道,他将其定义为Global,来得到Get里面的变量与函数。我们使用自定义的一个委托,变长参数我们使用params,如果能确定是同一类型,后面可以使用该类型,如果有各种类型就使用object。
2025-01-04 21:45:28
1102
2
原创 手把手教会如何AssetBundle打包
Build Target:目标平台Output Path:目标输出路径Clear Folders:是否清空文件夹,重新打包Copy to StreanmingAssets:是否拷贝到StreanmingAssetsCompression:压缩方式NoCompression:不压缩,解压快,包比较大LZMA:压缩最小,解压慢。用一个资源要解压所有LZ4:压缩,比LZMA大一点,用什么解压什么,内存占用低Exclude Type Information:在资源包中不含资源的类型信息。
2024-12-20 20:09:37
1433
原创 STL语法详解
STL 指的是标准模板库(Standard Template Library),它是 C++ 标准库的一个重要组成部分。STL 中包含了许多通用的模板类和函数,用于提供常见的数据结构和算法,以便开发者更容易地进行程序设计和开发。STL 包含了多个组件,其中最重要的包括以下部分:- 容器(Containers):提供了各种数据结构,如向量(vector)、链表(list)、栈(stack)、队列(queue)、集合(set)、映射(map)等,用于存储和组织数据。
2024-07-25 10:55:37
473
原创 并查集相关
并查集是一种用来管理元素分组的数据结构。它包含两个主要操作:查找和合并。查找操作用于确定元素所属的分组,而合并操作用于将两个分组合并成一个。
2024-07-24 22:07:08
364
原创 有序整数离散化
离散化是指把无限空间中的有限的个体映射到有限的空间中取,以此提高算法的时空效率。如:1,999,10000000, 15处理后:1,3,4,2。
2024-07-11 22:24:42
448
原创 前缀和与差分
对于差分数组b[i][j][k], b[i][j][k] = s[i][j][k] - s[i-1][j][k] - s[i][j-1][k] + s[i-1][j-1][k]- s[i][j][k-1] + s[i-1][j][k-1] + s[i][j-1][k-1] - s[i-1][j-1][k-1];使得a[i]=b[1]+b[2]+b[3]+...+b[i];若a[][]是b[][]数组的前缀和数组,b[][]是a[][]的差分数组。
2024-07-10 22:41:17
282
原创 树的知识小结(期末复习看这一篇就够啦!)
树:T={D,R},D是包含n个节点的有穷集合,R代表关系。有且仅有一个节点d0D,则此时R没有前驱节点,即d0为根节点出节点d0外,D中每个节点对于R有且一个前驱节点D中每个节点对于R可以有零个或多个后继节点一个空树(或空的树节点)是一个树一个由根节点和若干个子树(可能是空树)组成的集合是一个树。其中每个子树本身也是树给定N个权值作为N个叶子结点构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。
2024-06-12 21:00:53
1138
1
原创 差分算法篇
具体来说,对于差分数组 b,如果 b[i] 表示原始序列中 a[i] 和 a[i-1] 之间的差值(即 a[i] - a[i-1]),那么通过差分数组可以方便地进行区间操作。现在我们有一个操作序列如下: d = {1, -1, 2},表示依次对应的增量 l = {1, 3, 2},表示对应的左边界 r = {3, 5, 4},表示对应的右边界。设原始序列为 a[1], a[2], ..., a[n],差分序列为 b[1], b[2], ..., b[n],其中 b[i] = a[i] - a[i-1]。
2024-02-29 20:05:32
772
2
原创 栈的初认识
栈(stack)是一种数据结构,它是一种具有特定方法的线性表,又称之为访问受限的线性表,它是许多表达式,符号等运算的基础,也是递归的底层实现。。栈的特点是先进后出(FILO,First In Last Out),即最后进入的元素最先出来,而最先进入的元素最后出来。栈通常有两种基本操作:压栈(push),在栈顶插入元素;出栈(pop),删除栈顶元素。栈在计算机科学中有广泛的应用,比如函数调用的时候会使用栈来保存函数的调用顺序和局部变量;浏览器的访问历史可以使用栈来实现页面的后退和前进;
2024-02-27 11:13:00
1161
1
原创 滑动窗口与双指针
滑动窗口()是一种用于解决数组或字符串相关问题的常用技巧。其基本思想是维护一个固定大小的窗口,通过在数组或字符串上滑动窗口的方式来求解问题。在滑动窗口技巧中,通常需要定义两个指针,即左指针left和右指针right,来维护窗口的位置。在解决具体问题时,可以通过移动左右指针来调整窗口的大小,并根据题目要求在窗口内进行相应的操作。滑动窗口技巧通常用于解决以下类型的问题: 1. 求解具有连续性质的子数组或子字符串的问题;2. 求解具有固定大小的子数组或子字符串的问题;
2024-02-03 19:20:32
1545
1
原创 二分查找篇
二分查找是计算机科学中最基本、最有用的算法之一。它描述了在有序集合中搜索特定值的过程。二分查找中使用的术语:目标 Target —— 你要查找的值索引 Index —— 你要查找的当前位置左、右指示符 Left,Right —— 我们用来维持查找空间的指标中间指示符 Mid —— 我们用来应用条件来确定我们应该向左查找还是向右查找的索引。
2024-01-31 21:55:49
2051
1
原创 《算法通关村——数组的增删查改》
数组是一种数据结构,它可以存储多个相同类型的元素,并根据索引访问这些元素。数组可以是一维的、二维的甚至更高维的,可以存储数字、字符、对象等不同类型的数据。在很多编程语言中,数组是基本的数据结构之一,提供了对数据进行操作和存储的方便性。需要注意的是,数组的length与size是不同的,例如我们定义数组a[100]={1,6,2,7,8,4,2,3},那么他的实际size应该为8,而不是100。若我们定义应该a[10],那么里面的元素,在C/C++中,都是随机数,而在Java中,则全部都是0。
2023-12-24 16:42:27
197
2
原创 《算法通关村第二关——终于学会链表反转了!》
链表反转是一个很重要的内容,因为它不仅涉及到链表的增加,删除,对思维的能力考察也要求严格。在各类热门面试题中,处于居高不下的地位。本次我们探讨的是LeetCode206题:给你单链表的头节点head,请你反转链表,并返回反转后的链表。
2023-12-04 21:20:12
178
2
原创 《算法通关村第一关——链表经典问题之双指针专题》
先让快指针fast走K步,然后快慢指针一起遍历,当fast走到尾部时,slow所在位置刚好是要断开的地方,此时我们断开slow与下一个节点的连接,再将fast接到原链表的头部,就可以完成这次旋转。这里我们同样使用快慢指针可以做,定义快指针fast,慢指针slow.先让fast走K步,之后再让快慢指针一起遍历,当fast走当链表尾部null时,slow刚好走到倒数第K个节点。两个指针一起遍历链表,fast走两步,slow走一步,当fast走到链表末尾时,slow到达链表的中间。
2023-12-03 13:52:27
167
1
原创 《算法通关村第一关——链表青铜挑战笔记》
链表是一种常用的数据结构,今天我所学习的是单链表。即在线性表中,每个元素只有一个前驱元素与一个后续元素,用链式结构存储。链表的结构如下图所示:同时,链表满足关系一对一或者多对一,而不能有一对多的情况。
2023-11-29 10:07:04
207
1
原创 iOS::app在文件末尾追加内容...
在使用 "append" 模式时,文件必须已经存在,否则会创建一个新的文件。使用 "append" 模式可以确保将新内容追加到文件末尾,保留原有内容,并避免覆盖文件中的数据。标志用于打开文件时指定其为append模式。这意味着,当我们向文件写入数据时,新的内容将被追加到文件的末尾,而不会覆盖文件中已有的内容。类打开名为 "example.txt" (自行创建的文件)的文件,并将。
2023-10-27 16:20:14
321
1
原创 关于ifsteam,ofsteam,fstream
问题涉及C++中的流类(stream classes)和文件操作,假设你已经创建了一个名为"example.txt"的文件。:这是一个带有输入和输出功能的流类。它同时继承了istream(输入流)和ostream(输出流)类的特性。
2023-10-27 15:54:43
365
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人