摘要: 名称 树状数组 用途 把数据分成几个范围块 常用于 和 前缀和->加快差分数组 核心原理 add,sum,query 二进制和差分活用 上图为树状数组的结构理解,以i为右边界,能管到的最大范围 具体原理 lowbit x&-x 找到最右边的1 0100101 ~1011010 1011011 ·单点 阅读全文
posted @ 2025-11-26 22:30 江海一归客 阅读(7) 评论(0) 推荐(0)
摘要: 直接找通向 递推 dp 正难则反(容斥原理) 阅读全文
posted @ 2025-11-26 22:30 江海一归客 阅读(6) 评论(0) 推荐(0)
摘要: a/b向上取整:(a+b-1)/b 阅读全文
posted @ 2025-11-26 22:30 江海一归客 阅读(7) 评论(0) 推荐(0)
摘要: 如果是森林,可以补一个源点作为头 阅读全文
posted @ 2025-11-26 22:29 江海一归客 阅读(6) 评论(0) 推荐(0)
摘要: 样本范围在20个以内 在进行枚举行为时可以用二进制表达状态(注意:不是dp中的状态表示,是可能性中的枚举),这样可以跳过一些无用的枚举,比如说用lowbit,具体请看leetcode1434 阅读全文
posted @ 2025-11-26 22:29 江海一归客 阅读(7) 评论(0) 推荐(0)
摘要: 1.动态规划表生成决策路径 2.额外的路径收集结构 阅读全文
posted @ 2025-11-26 22:29 江海一归客 阅读(5) 评论(0) 推荐(0)
摘要: 1.以结尾展开可能性 从0……i中,判断i,然后调用0……i-1的可能性(可以是以i这个下标为结尾,也可以是0……i的范围上,也可以是以i下标所放的值进行展开) 2.定义往往从递归的定义出发,但是为了避免讨论边界的麻烦,所以有时不从下标开始,而是从长度 3.二叉树动态规划通常以头结点进行划分枚举(把 阅读全文
posted @ 2025-11-26 22:29 江海一归客 阅读(10) 评论(0) 推荐(0)
摘要: https://www.bilibili.com/video/BV1ST4y1s7XT/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=56781f0f92104550238c449cb1aebd7 阅读全文
posted @ 2025-11-26 22:29 江海一归客 阅读(22) 评论(0) 推荐(0)
摘要: 1.一定要写边界条件,不要偷懒不要偷懒!!! 经典案例 题目https://www.luogu.com.cn/problem/P3763 这里一开始没把根节点单独考虑,直接将st1的赋值为0,st2的也复制为0 2.链式向前星建完图遍历是注意head[]写的是节点不是int i 啊 阅读全文
posted @ 2025-11-26 22:29 江海一归客 阅读(10) 评论(0) 推荐(0)
摘要: 1.普通一维差分 建立一个差分数组num,(num[i]=arr[i]-arr[i-1]) 如果在l_r范围增加数 num[l]+=v; num[r+1]-=v; 最后,加起来即可,就是num[i]+=num[i-1](前面的前缀和) 2.等差数列差分 同样建立一个差分数组num 如果在l_r范围增 阅读全文
posted @ 2025-11-18 19:48 江海一归客 阅读(8) 评论(0) 推荐(0)