摘要: 题目描述 定义两个函数 $f, g: \{1, 2, \dots, n\} \rightarrow \mathbb Z$ 的狄利克雷卷积 $f g$ 为: $$ (f g)(n) = \sum_{d | n} f(d)g(\frac nd) $$ 我们定义 $g = f^k$ 即 $k$ 次幂为: 阅读全文
posted @ 2020-02-18 20:02 bestwyj 阅读(904) 评论(1) 推荐(0)
摘要: 题目排序不是我做题的顺序也不是试题顺序。 多边形 首先要知道终止态是所有边都指向了 $n$ 号节点。 那么我们如果每一步都让 $n$ 的度数 +1 那一定是最优的,显然可以办到。 那么可以从与 $n$ 相邻的边分割出若干个独立的部分求解。 对于一个部分,每次我们一定是选一个最高的边进行 $\text 阅读全文
posted @ 2020-02-08 15:44 bestwyj 阅读(433) 评论(0) 推荐(0)
摘要: 交错排列型容斥 引例:$n$ 种颜色的球分别 $a_i$ 个,相邻不同色,排列,方案数。 $m=\sum a_i\le 10^5$ 首先考虑题目中的限制条件是什么,对于单种颜色的球从左往右看,第 $i$ 个跟第 $i+1$ 个不相邻,那么该颜色就对应着 $a_i 1$ 个限制。 普通容斥,也就是枚举 阅读全文
posted @ 2020-02-03 20:06 bestwyj 阅读(706) 评论(1) 推荐(1)
摘要: 每个点贪心找最小的前驱选上,然后分情况: 如果形成一棵树,那么算法结束; 否则对该图缩点,scc之间的边的权值赋值成 用这条边替代原来终点的前驱的代价 的权值,表示换去一条环边,然后做最小树形图即可。 每轮至少缩去一个点,复杂度 $O(n^2+nm)$。 阅读全文
posted @ 2020-01-22 23:09 bestwyj 阅读(427) 评论(1) 推荐(0)
摘要: 例题 CPU监控 要你维护对序列上的操作: 1、区间加 2、区间赋值 3、区间最大值 4、区间历史最值 使用线段树+标记维护,记录节点上发生的所有事件。 注意到一个线段树节点,如果进行了modify操作,那么接下来的加法都可以认为是modify。 那么一个节点上的标记长度就至多为2了。 设 $\te 阅读全文
posted @ 2020-01-19 21:23 bestwyj 阅读(1134) 评论(0) 推荐(0)
摘要: $S="abaababaab"$ 阅读全文
posted @ 2019-12-31 11:20 bestwyj 阅读(326) 评论(1) 推荐(0)
摘要: 好像有不少更新:) 本文主要记录一些不是那么熟悉的高级数论算法的推导与应用。 exBSGS算法 解决模数、底数不互质的离散对数问题。 (1)为何$BSGS$算法不再适用:$A$不一定存在逆元,而且无法保证解的循环性。 (2)无解的结论: 设方程为$A^x=B \pmod{P}$ 当 $(A,P) \ 阅读全文
posted @ 2019-12-31 08:46 bestwyj 阅读(562) 评论(1) 推荐(1)
摘要: 前几天学习了一下扩展拉格朗日反演(因为模拟赛考了),推了一下点双和边双图的计数,记录一下。 前置技能:无向连通图计数 设有标号无向图的 egf 为 $F(x)=\sum_{i=0}^\infty \frac{f_ix^i}{i!}$,容易知道 $f_i=2^{n\choose 2}$,则有标号连通无 阅读全文
posted @ 2019-12-18 20:18 bestwyj 阅读(1318) 评论(3) 推荐(3)
摘要: $n$ 次剩余 你需要解方程 $x^n\equiv k\pmod m$,其中 $x\in [0,m 1]$。 保证解数不超过 $C=10^6$ $1\le n,m,k\le 10^9$ $k 1$ 我们设 $k=c\times p^j ((c,p)=1)$ 这样的方程有解必须有 $n \mid j$ 阅读全文
posted @ 2019-10-30 16:22 bestwyj 阅读(723) 评论(1) 推荐(0)
摘要: 首先注意到题目中 $a$ 数组是有序的,那我们只用算有序的方案乘上 $n!$ 即可。 而此时的答案显然 $$Ans= "x^n" (1+2x)\dots (1+Ax)=\prod_{i=1}^A(1+ix)$$ 取对数把乘法变加法,即 $$ \prod_{i=1}^A(1+ix)=\exp(\sum 阅读全文
posted @ 2019-10-06 11:19 bestwyj 阅读(537) 评论(3) 推荐(0)