摘要:
关于暴力做法 暴力,非常直白的就是直接硬做,不管他循环有多大,不管他数据量有多大。你要记住的一个事情就是,暴力只面向小数据,但是必定能得到正确解(前提当然是你没写错)甚至你需要进行对拍的时候你也得先写一个暴力出来才能方便对拍。 但是也因此,为了尽可能的偷分,暴力里要做尽可能的比较常数级别的优化,不要 阅读全文
摘要:
天下苦DP久已。 DP非常重要,2022年蓝桥杯应该改名为DP杯,至于2023年那个我觉得应该叫做暴力杯。 DP的核心思想在于,通过前面几个状态来推导下一个数据是什么,也就是走一步是一步。其本质实际上是记忆化搜索,但是有些玄学的事情就是,有时候记忆化会因为玄学递归问题TLE,但DP的那四五层 阅读全文
摘要:
二分 二分,他可以应用的范围特别广,即使是你想不到的地方他也可以二分。 例如:Acwing790数的三次方根这题可以直接二分题目所要求的答案,通过不断逼近三次方后的结果来二分; Acwing5407.管道,这题里可以直接二分时间,然后合并区间查看是否满足; Acwing730.机器人跳跃问题 阅读全文
摘要:
学都学了,肯定要往snippet里塞好东西嘛 { // Place your snippets for cpp here. Each snippet is defined under a snippet name and has a prefix, body and // description. 阅读全文
摘要:
线段树的本质就是树状数组,只不过线段树不再需要lowbit函数来定位对应数据的存储位置,取而代之的则是直接计算分叉结果位置。 node结构体 通常而言,线段树所需要的存储空间约等于原数组的4倍。由于线段树需要存储区间的范围,所以我们需要自己定义一个新结构体来方便存储: const int N = 阅读全文
摘要:
模板化的数据结构,必背。 树状数组的核心思想在于,两两相邻的相加,然后汇总到上方,再继续两两相邻相加。但是要注意的是,上层的两两相邻并不是指在数组位置中的相邻,而是因为他俩所包含的区间相邻。 举例如下: 第二层: 10 10=3+7 第一层: 3 7 3=1+2, 7=3+4 原始数据: 1 2 3 阅读全文
摘要:
函数回调 C++部分 从C#逆向理解回去,这玩意应该就是delegate的原型了,只不过C#中将其作为一个单独的变量类型方便做管理,而C++这个老毕登这里则是以指针的形式表现出来。 作用在于,你不需要关心函数具体内容是什么,也不需要关心函数到底会处理什么,你只需要直接调用这个定义了的回调函数 阅读全文
摘要:
不知道为什么之前找到的某个教程已经消失了,干脆自己总结算了(生气) 以下所有内容均由自己辅助着官网手册进行总结。很是头大啊...... 基本前提 Blender内用以下颜色对应坐标轴: 颜色 坐标轴 红色 X轴 绿色 Y轴 蓝色 Z轴 就和一般uv颜色一样,所有负数区域都是黑色的,毕竟负数值的颜色不 阅读全文
摘要:
事件系统是一个基于观察者模式之上构建的系统。通过利用delegate来进行Multicasting,实现一处激发则一触全发。 以下代码以简单的形式实现了一个仅限void类型函数的事件系统。 public class EventManager : MonoSingleton<EventManage 阅读全文
摘要:
单例模式通常用于生成单一管理者,例如假设游戏只能有一个玩家,那么就可以将玩家的控制器作为一个单例存在使用。或者场景控制,也可以作为一个单例来使用。 //BaseManager.cs using System.Collections; using System.Collections.Generic; 阅读全文