摘要: 数论 倍数问题 倍数问题一般都会想到取模。这里要找三个数的和是K的倍数,直接暴力肯定超时。注意到K的范围,最大取到1e3,可以用O(n^2)的算法。 要使得相加为K的倍数,只需要余数相加为K的倍数,所以可以预处理一下所有数模K的余数,因为题目问的是最大的和,所以要计算出K以内的余数对应的最大值,即m 阅读全文
posted @ 2023-02-01 23:07 iku-iku-iku 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 数据结构 最长不下降子序列 设输入的序列为arr。 考虑将长度为K的区间[l, r] 变为相同值,应该变成什么值比较好呢?不是很好考虑。 换一种视角,我们最终的最长不下降子序列应该包含三段,中间那一段是长度为K的区间,两边应该是由DP得来的。用dp1[i]表示以i结尾的最长不下降子序列长度,用dp2 阅读全文
posted @ 2023-02-01 23:07 iku-iku-iku 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 区间问题 青蛙过河 因为如果跳跃能力越强,就越有可能完成2x次来回,如果跳跃能力越弱,就越不可能完成2x次来回。因此首先马上可以想到二分。 难的是check函数。首先想一个必要条件,如果check(y)返回True,那么对于所有以i开始长度为y的区间,区间中所有数之和必然不少于2x。可以想象,因为最 阅读全文
posted @ 2023-02-01 23:07 iku-iku-iku 阅读(35) 评论(0) 推荐(0) 编辑
摘要: ActionRPG解读(攻击逻辑) 发起攻击的逻辑 InputAction NormalAttack 玩家鼠标左键绑定的是InputAction NormalAttack Do Melee Attack 先判断是否可以攻击。如果可以攻击,再判断是否正在攻击。 如果正在攻击,则调用Jump Secti 阅读全文
posted @ 2023-01-30 17:55 iku-iku-iku 阅读(189) 评论(2) 推荐(0) 编辑
摘要: ActionRPG解读(启动逻辑) 数据结构 RPGItem 先看数据类型。游戏中的右下角有一些图标,包括药剂、武器等,这些都可以抽象为RPGItem,根据类别不同,派生出更具体的RPGPotionItem,RPGSkillItem,RPGTokenItem,RPGWeaponItem。 RPGIt 阅读全文
posted @ 2023-01-30 17:44 iku-iku-iku 阅读(160) 评论(0) 推荐(0) 编辑
摘要: DP 蓝桥骑士 一眼看出是最长上升子序列,但是普通的写法是n方的,会超时,所以要用单调队列优化 单调队列优化思想:维护一个单调的队列,新来的元素通过二分找到适当位置,并进行置换 这里维护的是单调递增的队列,队列中的每个元素都严格大于它的前一个元素 当有新元素x时,找到最大的比它严格小的元素q[i] 阅读全文
posted @ 2023-01-04 20:28 iku-iku-iku 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 头部 import sys; readline = sys.stdin.readline read = lambda: [int(x) for x in readline().split()] alloc = lambda *s: len(s) != 1 and [alloc(*s[1:]) for 阅读全文
posted @ 2023-01-04 14:51 iku-iku-iku 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 优点 高容错性 数据自动保存多个副本,通过增加多个副本的形式提高容错性 某个副本丢失以后,可以自动恢复 适合处理大数据 数据规模:能够处理数据规模达到GB、TB甚至PB级别的数据 文件规模:能够处理百万规模以上的文件数量,数量相当之大 可构建在廉价机器上 通过多副本机制,提高可靠性 缺点 不适合低延 阅读全文
posted @ 2021-10-01 20:02 iku-iku-iku 阅读(149) 评论(0) 推荐(0) 编辑