imagehosting

【2020省选Day1T2】 LOJ3300 「联合省选 2020 A」组合数问题

跟風遠走 提交于 2020-08-12 02:01:24
题目链接 目录 解法一:递推求导,搞定k^i 前置知识 求导法则 二项式定理 题解 解法二:用组合恒等式,拆出斯特林数 前置知识 一个组合恒等式 下降幂的定义 题解 两种解法的比较与联系 解法一:递推求导,搞定k^i 前置知识 求导法则 基本法则: \((x^k)'=kx^{k-1}\) 四则运算: \((f(x)+g(x))'=f'(x)+g'(x)\) \((f(x)\cdot g(x))'=f'(x)g(x)+f(x)g'(x)\) 用乘法法则,可以推出 一个常数乘以一个函数 的求导法则,即: \((c\cdot f(x))'=0\cdot f(x)+c\cdot f'(x)=c\cdot f'(x)\) 。然后,对于减法,就可以看做加 \(-1\cdot g(x)\) ,直接套用加法法则即可得到: \((f(x)-g(x))'=f'(x)-g'(x)\) 。 复合函数: \((f(g(x)))'=f'(g(x))\cdot g'(x)\) 。 对于除法,可以看做乘以 \(\frac{1}{g(x)}\) ,也就是 \(h(x)=x^{-1}\) 和 \(g(x)\) 的复合函数。于是得到: \(\displaystyle \left(\frac{f(x)}{g(x)}\right)'=f'(x)\cdot\frac{1}{g(x)}+f(x)\cdot(-g^{-2}(x)

题解 LOJ3275 「JOISC 2020 Day2」有趣的 Joitter 交友

流过昼夜 提交于 2020-04-06 08:37:50
把两个互相关注的人缩成一个 集合 。如果对于两个集合A,B,集合A中某个人关注了集合B中的某个人,集合B中的某个人也关注了集合A中的某个人(这四个人可以互不相同),则把A,B缩成一个大集合。以此类推。例如下图中,原有A,B两个集合,后来加入了 \(a\rightarrow c\) , \(b\rightarrow d\) 两条边。此时如果搞活动,会带来 \(a\rightarrow d\) , \(d\rightarrow a\) 两新的条边。接下来会有连锁反应,其结果是 \(a\) , \(b\) , \(c\) , \(d\) 两两相互关注 。这就是为什么我们可以把图缩成若干个“集合”,然后直接在集合间连边。 考虑一个集合 \(S\) ,大小为 \(sz(S)\) 。如果有 \(ine(S)\) 条边连向这个集合(连向集合内的至少一个点),则集合 \(S\) 对答案的贡献是: \(sz(S)(sz(S)-1)+sz(S)ine(S)\) 。 我们用并查集维护这些集合。用 \(\texttt{set}\) 维护连向每个集合的边 \(ine\) 。 考虑如何处理加边操作。加入一条边 \(x\rightarrow y\) 时,分三种情况讨论: 如果 \(x\) , \(y\) 已经在同一个集合内,则什么都不用做。 如果 \(y\) 所在集合已经有了连向 \(x\) 所在集合的边