摘要: 从小到大枚举排列:从 \(1 - n\) 插入每个数,第 \(i\) 个数有 \(i\) 种插法,所以可以枚举出 \(n!\) 种排列。 可行性 \(dp\),其中的表示以这个下标构成的方案是否可行。 背包 \(dp\) 中放物品的顺序是可以打乱的,所以当你需要撤销一个物品时,可以把它看做是此时最后 阅读全文
posted @ 2025-07-25 16:01 Optimist_Skm 阅读(6) 评论(0) 推荐(0)
摘要: 线性筛原理:当 \(i\ | \ prime_j\) 时,表示 \(i\) 中有一个质因子为 \(prime_j\), 那么接下来的质数一定不会成为最小的质因子,所以一个数只会被标记一次,即复杂度为 \(O(n)\).。 唯一分解定理:每一个有理数都能分解为有限个质数乘积。 性质:\(> \sqrt 阅读全文
posted @ 2025-07-25 16:01 Optimist_Skm 阅读(5) 评论(0) 推荐(0)
摘要: 当有两个只会对 正/负 数产生影响的操作,我们可以考虑对正负数分别维护一个数据结构。 当最短路有多个条件并且不能同时维护时,且两个条件值域较小时,可以考虑维护一个分层图和一个二维数组,层数表示当前第一个条件的代价,而每一层图中的边权都为第二个条件。 当最短路的值域较小,可以考虑用桶代替堆,\(O(1 阅读全文
posted @ 2025-07-25 16:00 Optimist_Skm 阅读(3) 评论(0) 推荐(0)
摘要: 考虑线段树能不能维护一个操作: 考虑如何合并线段树上的两个子树 考虑如何给一个点叠加 \(tag\)。 \(gcd\) 的性质:一个区间的 \(gcd\) 是这个区间(在前面加上一个 \(0\))的差分数组的 \(gcd\)。 例子: \(gcd(1, 3, 4, 6) \rightarrow gc 阅读全文
posted @ 2025-07-25 16:00 Optimist_Skm 阅读(7) 评论(0) 推荐(0)
摘要: \(tarjan\) 染色的倒序是图的拓扑序。 缩点的时间复杂度: \(O(n+m)\)。 当差分约束的时间复杂度不优时,考虑进行缩点后拓扑排序。[SCOI2011] 糖果 一个点可能属于多个极大点双,但只可能属于一个极大边双。 如果一个图的所有边都是割边,那么这个图是树。 在计算割点时,一个父节点 阅读全文
posted @ 2025-07-25 16:00 Optimist_Skm 阅读(4) 评论(0) 推荐(0)