摘要: 形如求解 \(ax+by=c\) 知道 \(a,b,c\) 求解整数解 \(x,y\) 的值。 通常使用 exgcd 算法求解。 首先考虑无整数解的情况,根据贝祖定理,对于 \(a\in Z,b\in Z,c\in Z\) 如果有两个整数 \(x,y\) 满足 \(ax+by=c\) 那么 \(c= 阅读全文
posted @ 2024-04-08 20:20 tomxi 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 数学: 一:整除 概念: 如果 \(A\) 能整除 \(B\) 则记之为 \(A|B\) 即存在一个数 \(k \in Z\) 使 \(Ak = B\)。即 \(B\) 是 \(A\) 的倍数。 性质: 1. 如果 \(a|b,b|c\) 那么 \(a|c\) 表明整除具有传递性。 2. 如果 \( 阅读全文
posted @ 2024-04-07 21:12 tomxi 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 壹:线性DP 所谓线性DP就是简单、容易写、易看出来的DP,这类DP经常在简单题中出现。 通常在序列中用一维数组存储,矩阵中用二维数组存储。 一维例子:设 \(f_i\) 表示前 \(i\) 个数中最长连续个 1 出现的次数。 二维例子:设 \(f_{i,j}\) 表示从 \((1,1)\) 走到 阅读全文
posted @ 2024-03-30 18:04 tomxi 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一个 \(N\),求所有 \(N\) 的子区间 \([l,r],1\leq l\leq r\leq N\) 中满足 \(i \in [l,r]\) 中有至少一个 \(A_i\) 的出现次数有且仅出现一次。 题意很明确,如何解决? 暴力: 直接 \(N^2\) 扫一遍然后进行每个区间的特判 阅读全文
posted @ 2024-03-28 21:42 tomxi 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 不得不说这道 dp 既考察对时间复杂度方面的优化,也要考虑对空间方面的优化。 题意 首先从暴力说起: 首先既然让我们删除 \(k\) 个数,也就是说保留 \(N-k\) 个数。 显然可以 dfs 枚举子集加剪枝优化(不过剪不剪的好像没啥区别),这样做是 \(O(2^N)\) 估计只能过样例。 代码: 阅读全文
posted @ 2024-03-22 19:50 tomxi 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 线段树: 这是一个线段树的例图。 我们可以发现其实线段树就是将几个连续的小区间拼凑成一个个大区间的过程,从而实现查找时的优秀的复杂度。 引入-分块基础的思想: 其实如果你知道分块的思想,那么你会更好理解线段树的思想,分块就是将一个序列分成 \(\sqrt N\) 个块每个块的块长就是 \(N / \ 阅读全文
posted @ 2024-03-14 21:43 tomxi 阅读(51) 评论(0) 推荐(1) 编辑
摘要: 题意 思路: 对于1操作可以采用类似链表的方法在元素 \(x\) 的后面直接插入 \(y\) 的值,即 \(nxt_x = y\)。 对于2操作可以采用链表的删除的方法先令 \(p = nxt_x\) 即 \(x\) 的后继,让 \(pre_p = pre_x\) 然后让 \(nxt_{pre_x} 阅读全文
posted @ 2024-03-14 20:35 tomxi 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 分块二分: 众所周知,分块可以实现一些奇奇怪怪的区间的问题,比如以下这个题: 给定一个 \(N\) 和 \(N\) 个整数,分别为 \(A_1,A_2,A_3,A_4....A_N\) 每次询问给出三个整数 \(l,r,k\) 求所有满足 \(l \leq i \leq r,a_i \leq k\) 阅读全文
posted @ 2024-03-07 21:22 tomxi 阅读(14) 评论(0) 推荐(0) 编辑