摘要: 给定一颗有N个节点的树(一般是无根树,就有N 1条无向边),可以任选一个节点作为根节点 一般以 节点从深到浅(子树从小到大) 的顺序作为dp阶段顺序 dp的状态表示中,第一维通常是节点编号(节点编号代表了以该节点为根的子树) 对于每个节点x,先递归在它的每个子节点上进行dp,回溯时,从子节点向x进行 阅读全文
posted @ 2019-07-08 00:46 KelvinVS 阅读(1148) 评论(0) 推荐(2) 编辑
摘要: 二维费用背包 01背包进阶版 有N件物品和一个空间容量为C,重量容量为W的背包,第 i 件物品的空间费用为 c[i] ,重量费用为 wi ,价值是 vi , 每种物品仅有一件,可以选择放或不放 ,求将哪些物品装入背包可使价值总和最大 01背包: 空间降维写法 二维费用 根据经验我们就可以写出 其实就 阅读全文
posted @ 2019-07-07 08:27 KelvinVS 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 动态规划理论基础 首先我们要知道,只有当问题符合最优化原理和无后效原理,才适合使用动态规划 最优化原理 最优化原理定义的最优策略:不论过去状态和决策如何, 对前面的决策所形成的状态而言,余下的决策必须构成最优策略 。 简单来说就是一个 最优策略的子策略(之后产生的策略)也是必须是最优的 ,而所有子问 阅读全文
posted @ 2019-07-03 18:22 KelvinVS 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 合并-查找问题 在说并查集之前,我们先讲一下合并-查找问题 合并-查找问题。顾名思义,就是既有合并又有查找操作的问题 举个例子: 有一群人,他们之间有若干好友关系 如果A是B好友的好友,或者好友的好友的好友等等,即通过若干好友可以认识,那么我们说A和B是间接好友。如果两个人有直接或者间接好友关系,那 阅读全文
posted @ 2019-07-02 00:47 KelvinVS 阅读(3762) 评论(3) 推荐(10) 编辑
摘要: 数值表示 原码,补码,反码,移码 原码:正0 负1 + 机器数 [1111 1111 , 0111 1111] 反码:正数为原码,负数原码取反(除符号位 补码:正数为原码,负数反码+1(符号不变,最后一个1右边不变,左边取反 移码:补码的符号位取反 浮点数转换 1. 十进制转浮点数 1. 转2进制 阅读全文
posted @ 2019-06-24 00:49 KelvinVS 阅读(1859) 评论(0) 推荐(0) 编辑
摘要: 计算机中不是直接做减法,是通过加法来实现的。所以就必须引入一个符号位 阅读全文
posted @ 2019-05-21 20:57 KelvinVS 阅读(4298) 评论(5) 推荐(5) 编辑
摘要: 效果展示 正如其名,Ragdoll可以让人物模型实现像布娃娃一样物理效果 创建Ragdoll 在场景中新建 3D Object → Ragdoll... 接下来是一个初见复杂的绑定界面,这里我做了简单翻译 我们需要将模型对应的关节部位一一拉进这个表 创建完成后,可以发现模型中的每个所选部位中多了 一 阅读全文
posted @ 2019-04-24 18:22 KelvinVS 阅读(7907) 评论(1) 推荐(2) 编辑
摘要: 1.普通射线 在角色坐标(一般是脚底),发射一根向下的射线(长度约0.2) 但是简单射线 只适用于简单地形 ,实际使用中常常遇到以下问题 1. 用collider去碰撞地面,某些时候会有一定的穿插,于是角色的最低点就可能穿透地面,你发射射线的点可能就到了地面以下, 射线一直检测不到真正的地面 ,于是 阅读全文
posted @ 2019-04-20 10:16 KelvinVS 阅读(12496) 评论(2) 推荐(5) 编辑
摘要: 编程的智慧 编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做 阅读全文
posted @ 2019-04-12 21:28 KelvinVS 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 本文包含两个部分,前半部分是通俗解释一下Unity中的协程,后半部分讲讲C#的IEnumerator迭代器 阅读全文
posted @ 2019-04-04 15:18 KelvinVS 阅读(2367) 评论(1) 推荐(4) 编辑