摘要: 我是 laijinyi,一名来自浙江省,杭州市的高一菜鸡 \(\texttt{oier}\)。 之后会在这里记录一些学习笔记和练习笔记。 请不要发无意义评论啊,无意义评论都会被删除 若看到博客代码块渲染不正常,刷新几下即可 博客标有的难度是如何定的? Easy :我是喝喝粥,我一眼秒了,我觉得这题没 阅读全文
posted @ 2023-08-04 19:24 Laijinyi 阅读(19) 评论(0) 推荐(0) 编辑
摘要: Statement 求 \[ \max_{1\le l_1\le r_1<l_2\le r_2\le n}\{(A_{l_1}\oplus A_{l_1+1}\oplus\cdots\oplus A_{r_1})+(A_{l_2}\oplus A_{l_2+1}\oplus\cdots\oplus 阅读全文
posted @ 2024-09-09 07:41 Laijinyi 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 先让 SAM 的 extend 函数返回 cur 简单来说,就是先建 Trie 再 BFS 地插入 SAM,其中 last 为 trie 上 u 的父亲。 以上是离线构建,在线如何构建? 每次先把 last 设为 0,然后在普通 SAM 上加 3 个特判: 最开始: if (nxt[last][c] 阅读全文
posted @ 2024-09-09 07:39 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 随时更新。 也叫 Tricks 对 \(\{1,0,0,\ldots\}\) 做 \(k\) 次前缀和,下标从 0 开始,则 \(a_d\) 为 \(C_{d+k-1}^{k-1}=C_{d+k-1}^d\) 证明:杨辉三角 对于算这种 \(\displaystyle\sum_{i\in[l_k.. 阅读全文
posted @ 2024-09-09 07:39 Laijinyi 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 一句话题解: “相等”等价于 \(\text{LCP}+\text{LCS}+k\ge\text{len}\) 对于每个字符串 \(p\),枚举其 LCP 长度,同时确定 LCS 长度,问题变成统计有多少 \(i\),满足 \(s[i-|\text{LCP}|+1..i]=\text{LCP}\), 阅读全文
posted @ 2024-09-09 07:38 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Statement 今天有人问我: KMP 有 AC 自动机可以替代他 Manacher 有回文自动机可以替代他 SA 有 SAM 可以计算他 他们有什么存在的意义? Solution KMP,Manacher,SA 字符集可以很大 写起来方便 对于 SA,他本身的功能就是 SAM 不可完全替代的。 阅读全文
posted @ 2024-09-09 07:37 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Statement 给长度为 \(n\) 的单调不上升序列 \(A\),\(B\) 为 \(A\) 的后缀和。你最开始在 \((n,1)\),要花费最小的代价跳到 \((1,1)\)。当你在 \((x,y)\) 时有两种选项:不花费任何代价跳到 \((x-1,y+1)\),或是花费 \(B_x\)  阅读全文
posted @ 2024-09-09 07:36 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 妙妙数数题 key:数数题通常是,对于特定形式的计数,就盯着这个模式观察,看出一些充要条件、计数形式的转化,然后想办法维护。 优化的本质就是把难算的变成好算的,把不好一起统计的(只能一个个数的)以某种角度、用某些数据结构,一起统计(多个多个数)。 我觉得难点通常在于“盯出一些充要条件”,这也是他的主 阅读全文
posted @ 2024-09-08 22:04 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 以下为自己口胡,未经网上搜索题解验证 Statement 一棵 \(n\) 个点的树,每条边有一个小写字母边权,\(m\) 次询问,每次给定 \(u,v,s\),问字符串 \(s\) 在 \(u\to v\) 路径组成的字符串中出现了几次。\(n,m\le 10^5,\sum|s|\le 3\cdo 阅读全文
posted @ 2024-09-08 22:04 Laijinyi 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Statement 给 \(s_1,s_2,s_3\),求最长的 \(w\) 的长度,满足 \(w\) 是 \(s_1\) 子串 \(w\) 是 \(s_2\) 子串 \(s_3\) 不是 \(w\) 子串 Solution 1 以下是我没看题解瞎胡的 首先一个弱智想法是,枚举 \(s_1\) 上 阅读全文
posted @ 2024-09-08 22:04 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Statement 给 \(S\),令 \(x\) 为 \(S\) 的第 \(k\) 个字符,称 \(T=S[i..j]\) 为关于 \(x\) 的识别子串,当且仅当: \(i\le k\le j\)(含 \(x\) 这一位) \(T\) 在 \(S\) 中只出现一次 求 \(S\) 关于每一位字符 阅读全文
posted @ 2024-09-08 22:02 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 前情提要。 Top Cluster 分解与 Top Tree 情景导入 我们总是想要以一种合适的方式对树进行划分,但是对于菊花图而言,基于点的划分总是不合适的,这启发我们基于边进行划分。事实上可以证明,基于边的划分总是可行的。 Top Cluster 分解就是一种基于边的划分方式,下面我们来介绍他。 阅读全文
posted @ 2024-08-27 10:27 Laijinyi 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题面稍微有一点不一样。 Statement 给 \(n\) 个物品,每个物品有价值 \(v_i\)、体积 \(w_i\)。 \(q\) 次询问,问考虑 \([L..R]\) 区间的物品,用容量为 \(m\) 的背包最多能装多少价值的物品,有多少种方案,每个物品只能被装一次。 \(n\le 2\cdo 阅读全文
posted @ 2024-08-26 17:10 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 不知道“树链剖分”、“全局平衡二叉树”等应不应该归类到“动态树”里面... 解决动态树问题的本质是将原树映射到一个高度为 \(O(\log n)\) 的树上。 树链剖分 主要是重链剖分,具体略. 支持: 链修改 链查询 子树修改 子树查询 这里的修改、查询需要满足可以用数据结构维护. 一般两只 lo 阅读全文
posted @ 2024-08-22 10:59 Laijinyi 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 一堆东西不知放哪儿就放这儿了。 1 遇到一道题,转化后长这样: Statement 给出 \(n(\le 10^{10})\),计算: \[ n+\sum_{i=0}^{n-1}i\cdot 2^{n-i-1} \]多组数据,答案对 \(10^9+7\) 取模。 Solution 当时看数据范围以为 阅读全文
posted @ 2024-08-20 21:26 Laijinyi 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Statement 给出 \(k,p,L\),数序列 \(a\),满足如下条件: \(1\le a_i\le k\) \(\sum_i a_i=L\) \(\nexists i,a_i\ge p\land a_{i+1}\ge p\) 答案对 \(20201114\) 取模,\(p\le k\le 阅读全文
posted @ 2024-08-17 14:04 Laijinyi 阅读(7) 评论(0) 推荐(0) 编辑
摘要: Statement 矩形面积并,但是覆盖奇数次、覆盖偶数次的面积要分别输出。 Solution 提供一种不费脑子的做法: 首先离散化、扫描线,问题变成维护区间 +1-1、询问全局有多少正数是奇数、多少正数是偶数。 若去除“正数”的条件,这是很容易用一个标记下传的线段树维护的,区间分别维护 0,1 个 阅读全文
posted @ 2024-08-16 16:49 Laijinyi 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 用来构造一个多项式来近似一个函数 \[ f(x)=\sum_{n=0}^{\infty}\dfrac{f^{(n)}(x_0)}{n!}(x-x_0)^n \]大概就是用 \(n\) 阶导数来拟合一下。 严谨推导: 假设 \(f(x)\) 在点 \(x_0\) 的某邻域 \(U(x_0)\) 能近似 阅读全文
posted @ 2024-08-15 12:36 Laijinyi 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Statement 最长不下降子序列(LIS),但是有一次机会,让序列中连续 \(k\) 个数改成同一个数。\(n\le 10^5,a_i\le 10^6\). Solution 记 \(f(i)\) 为以 \(i\) 结尾的 LIS 长度,\(g(i)\) 为以 \(i\) 开始的 LIS 长度, 阅读全文
posted @ 2024-08-14 16:17 Laijinyi 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Statement CloudDreamLaker 嫌上一题太简单,又出了一道数据结构题: 添加一个操作:把 \([l,r]\) 区间中的数加上 \(x\)。 添加一个操作:把 \([l,r]\) 区间中的数乘以 \(x\)。 询问如果我执行了 \([l,r]\) 区间的操作,\(pos\) 这一个 阅读全文
posted @ 2024-08-10 10:02 Laijinyi 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Statement I_AM_CIMOTA 出了一道数据结构题: 添加一个操作:把 \([l,r]\) 区间中的数加上 \(x\)。 询问如果我执行了 \([l,r]\) 区间的操作,\(pos\) 这一个点的值会变为多少。 Solution 在线做法:可持久化线段树,标记永久化的话比较方便。 离线 阅读全文
posted @ 2024-08-10 09:38 Laijinyi 阅读(6) 评论(0) 推荐(0) 编辑