[题目]G. Partitions [题意]n个数$w_i$,每个非空子集S的价值是$W(S)=|S|\sum_{i\in S}w_i$,一种划分方案的价值是所有非空子集的价值和,求所有划分成k个非空子集的方案的价值和.1<=k<=n<=2*10^5,1<=wi<=10^9. [算法]斯特林数 [题解]首先价值与具体数字没有关系,即: $$ans=num*\sum_{i=1}^{n}w_i$$ 其中num表示1在每个k划分方案中所在集合的大小的和. 考虑一种角度,所在集合的大…
传送门 题意: 给出\(n\)个元素,每个元素有价值\(w_i\).现在要对这\(n\)个元素进行划分,共划分为\(k\)组.每一组的价值为\(|S|\sum_{i=0}^{|S|}w_i\). 最后询问所有划分的总价值. 思路: 直接枚举划分不好计算,考虑单独计算每一个元素的贡献,那么就有式子: \[ \sum_{i=1}^nw_i\sum_{j=1}^{n-k+1}{n-1\choose j-1}\begin{Bmatrix} n - j \\ k - 1 \end{Bmatrix}j \]…
[CF961G]Partitions(第二类斯特林数) 题面 CodeForces 洛谷 题解 考虑每个数的贡献,显然每个数前面贡献的系数都是一样的. 枚举当前数所在的集合大小,所以前面的系数\(p\)就是: \[\begin{aligned} p&=\sum_{i=1}^n{n-1\choose i-1}i\begin{Bmatrix}n-i\\k-1\end{Bmatrix}\\ &=\sum_{i=1}^n{n-1\choose i-1}i\frac{1}{(k-1)!}\sum_{…
题目链接:http://codeforces.com/gym/101147/problem/G G. The Galactic Olympics time limit per test 2.0 s memory limit per test 64 MB input galactic.in output standard output Altanie is a very large and strange country in Mars. People of Mars ages a lot. So…
洛谷 Codeforces 这题真是妙的很. 通过看题解,终于知道了\(\sum_n f(n)^k​\)这种东西怎么算. update:经过思考,我对这题有了更深的理解,现将更新内容放在原题解下方. 思路 发现\(\sum_S (f(S))^k\)这东西因为有个\(k\)次方,所以特别难算,考虑拆开: \[ x^k=\sum_{i=0}^k {x \choose i} \times i! \times S(k,i) \] 其中\(S(n,m)\)是第二类斯特林数,即\(n\)个元素放进\(m​\…
[CF961G]Partitions 题意:给出n个物品,每个物品有一个权值$w_i$,定义一个集合$S$的权值为$W(S)=|S|\sum\limits_{x\in S} w_x$,定义一个划分的权值为$V(R)=\sum\limits_{S\in R} W(S)$.求将n个物品划分成k个集合的所有方案的权值和. $n,k\le 2\cdot 10^5,w_i\le 10^9$ 题解:第二类斯特林数针是太好用辣! 显然每个物品都是独立的,所以我们只需要处理出每个物品被统计的次数即可,说白了就是…
题目链接: http://codeforces.com/problemset/problem/140/E 题意: 圣诞树上挂彩球,要求从上到下挂\(n\)层彩球.已知有\(m\)种颜色的球,球的数量不限. 要求结果对\(p\)取模.然后给你\(n\)个数,表示第 \(i\) 根绳长 \(l_i\),也就是要挂 \(l_i\) 个球. \(1.\)要求每根绳上相邻彩球颜色不同. \(2.\)相邻的绳子上挂的彩球种类不能相同. 题解: 我们先解决子问题,先考虑第 \(i\) 层上能放多少个球,\(a…
Codeforces 题面传送门 & 洛谷题面传送门 神仙题.在 AC 此题之前,此题已经在我的任务计划中躺了 5 个月的灰了. 首先考虑这个最短距离是什么东西,有点常识的人(大雾)应该知道,对于一个排列 \(p\) 而言,通过交换两个元素使其变成 \(1,2,3,4,\cdots,n\) 的最少步数等于 \(n\) 减去该排列中置换环的个数,因此对于两个排列 \(a,b\) 而言,将 \(a\) 变成 \(b\) 所需的最少步数即是在所有 \(a_i\) 与 \(b_i\) 之间连 \(a_i…
Codeforces 题目传送门 & 洛谷题目传送门 首先看到这题我的第一反应是:这题跟这题长得好像,不管三七二十一先把 \(k\) 次方展开成斯特林数的形式,\(f(X)^k=\sum\limits_{i=0}^k\begin{Bmatrix}k\\i\end{Bmatrix}\dbinom{f(X)}{i}\),于是我们只需对所有 \(i\in[0,k]\) 求出 \(\sum\dbinom{f(X)}{i}\) 即可. 然后就不会做了/dk/wq 考虑 \(\dbinom{f(X)}{i}…
Codeforces 题目传送门 & 洛谷题目传送门 神仙题,只不过感觉有点强行二合一(?). 首先考虑什么样的数组 \(a\) 符合条件,我们考虑一个贪心的思想,我们从前到后遍历,对于每一个 \(a_i\) 如果它已经在前面出现了就不断给它加 \(1\) 直到它没有出现过为止.如果某个 \(a_i\) 超过了 \(n\) 则不符合条件,正确性显然.这样看起来还是有点抽象,我们不妨把它转化成这样的模型:有一架飞机有 \(n\) 个位置,有 \(n\) 个乘客要登飞机,每个乘客都预定了一个位置 \…
题目 CF961G 前置 斯特林数\(\Longrightarrow\)斯特林数及反演总结 做法 相信大家能得出一个一眼式:\[Ans=\sum\limits_{i=1}^n w_i\sum\limits_{s=1}^n s\cdot C_{n-1}^{s-1}\begin{Bmatrix}k-1\\n-s\end{Bmatrix}\] 然后就开始推式: \[\begin{aligned}\\ Sum&=\sum\limits_{s=1}^n s\cdot C_{n-1}^{s-1}\begin…
传送门 对于每一个元素,我们只要能求出它的出现次数\(sum\),那么每个元素的贡献都是一样的,最终的答案为\(sum\times \sum_{i=1}^n w_i\) 那么分别讨论 如果这个元素自己单独一个集合,那么方案数为\(S(n-1,k-1)\)(这个\(S\)是第二类斯特林树),也就是讨论其它的\(n-1\)个怎么放,每一种方案的贡献都是\(1\),所以这一部分的贡献就是\(S(n-1,k-1)\) 如果这个元素和其它元素一起放在一个集合里,那么剩下\(n-1\)个元素放的方案数为\(…
传送门 题意: 现在有一个人分别从\(1,n\)两点出发,包中有一个物品价值一开始为\(0\),每遇到一个价值比包中物品高的就交换两个物品. 现在已知这个人从左边出发交换了\(a\)次,从右边出发交换了\(b\)次. 现在问有多少个排列满足这一条件. 思路: 倒过来考虑的话,显然全局最大值为最后一次交换. 然后左边我们会放置\(a-1\)个递增的物品,右边放\(b-1\)个递减的物品,其余的物品我们在中间部分任意放置即可,但要保证价值在一定范围. 将问题进一步抽象,我们即要将\(n-1\)个数划…
题目链接 题意 : 其实就是要求 分析 : 先暴力将次方通过第二类斯特林数转化成下降幂 ( 套路?) 然后再一步步化简.使得最外层和 N 有关的 ∑ 划掉 这里有个技巧就是 将组合数的表达式放到一边.然后通过组合意义来化简 然后就可以 O( k ^ 2 ) 算出答案了 另外化到后面其实有种产生 这里可以用另外一种方式化简 考虑其组合意义 相当于先从 n 个数中挑出 i 个数.然后再从 i 个数中取 j 个进行排列 其他数可选可不选 具体可以看 Click here #include<bits/s…
传送门 解题过程: \(答案=\sum^n_{i=0}*C^i_n*{\frac{1}{m}}^i*{\frac{m-1}{m}}^{n-i}*i^k\) 根据第二类斯特林数的性质\(n^k=\sum^k_{i=0}S^i_k*i!*C^i_n=\sum^k_{i=0}S^i_k*n^\underline{i}\)将普通幂转为下降幂 \(=\sum^n_{i=0}C^i_n*{\frac{1}{m}}^i*{\frac{m-1}{m}}^{n-i}\sum^k_{j=0}S^j_k*i^\und…
题目链接:http://codeforces.com/gym/101147/problem/G 题意:n个人,去参加k个游戏,k个游戏必须非空,有多少种放法? 分析: 第二类斯特林数,划分好k个集合后乘以阶乘: #include <bits/stdc++.h> using namespace std; ; + 7L; long long stir[maxn][maxn]; long long fac[maxn]; void init() { fac[] = fac[] = ; ;i<=;…
基本定义 第一类斯特林数:$1 \dots n$的排列中恰好有$k$个环的个数:或是,$n$元置换可分解为$k$个独立的轮换的个数.记作 $$ \begin{bmatrix} n \\ k \end{bmatrix}. $$ 第二类斯特林数:将$n$个元素分成$k$个非空集合的方案数.记作 $$ \begin{Bmatrix} n \\ k \end{Bmatrix}. $$ 根据定义,我们有 $$ \sum_{k=0}^n \begin{bmatrix} n \\ k \end{bmatrix…
题目传送门 https://codeforces.com/contest/960/problem/G 题解 首先整个排列的最大值一定是 \(A\) 个前缀最大值的最后一个,也是 \(B\) 个后缀最大值的最后一个. 那么枚举一下最大值的位置为 \(i\),那么左右两边各选一些数的方案数为 \(\binom {n-1}{i-1}\). 然后,左边有 \(i-1\) 个数,要分成 \(A-1\) 个部分,每一个部分的第一个数是所有数中最大的,并且每一个部分之间的最大值要递增. 可以发现这个问题等价于…
第一类斯特林数 定义 第一类Stirling数\(s(n,m)\),也可记为\(\begin{bmatrix}n\\m\end{bmatrix}\). 第一类Stirling分为无符号第一类Stirling数\(s_u(n,m)\)和带符号第一类Stirling数\(s_s(n,m)\). 他们分别表现为其升阶函数和降阶函数的各项系数,形式如下: \[ x^{n\downarrow}=x\cdot (x-1)\cdot (x-2)\cdots (x-n+1)=\sum_{k=0}^ns_s(n,…
Machine scheduling Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1000    Accepted Submission(s): 363 Problem Description A Baidu's engineer needs to analyze and process large amount of data o…
[codeforces 549]G. Happy Line 试题描述 Do you like summer? Residents of Berland do. They especially love eating ice cream in the hot summer. So this summer day a large queue of n Berland residents lined up in front of the ice cream stall. We know that ea…
目录 参考资料 前言 暴力 nlog^2n的做法 nlogn的做法 代码 参考资料 百度百科 斯特林数 学习笔记-by zhouzhendong 前言 首先是因为这道题,才去研究了这个玩意:[2019雅礼集训][第一类斯特林数][NTT&多项式]permutation 感觉这个东西非常的...巧妙. 暴力 第一类斯特林树S(n,k)就是将n个数字划分为k个不相区分的圆排列的方案数(即忽略顺序). 首先,第一类斯特林数有一个人尽皆知的\(O(n^2)\)递推式: \[S(n,k)=S(n-1,k-…
目录 题意 输入格式 输出格式 思路 代码 题意 找有多少个长度为n的排列,使得从左往右数,有a个元素比之前的所有数字都大,从右往左数,有b个元素比之后的所有数字都大. n<=2*10^5,a,b<=n 输入格式 输入三个整数n,a,b. 输出格式 输出一个整数,表示答案. 思路 这道题是真的神啊... 首先,根据官方题解的思路,首先有一个n^2的DP: 定义dp[i][j]表示一个长度为i的排列,从前往后数一共有j个数字大于所有排在它前面的数字. 首先有转移式: \[dp[i][j]=dp[…
题意:f[i],g[i]分别表示用1*2的骨牌铺2*n和3*n网格的方案数,求ΣC(f(i),k)和ΣC(g(i),k),对998244353取模,其中l<=i<=r,1<=l<=r<=1e18 题解:显然打表发现f[i]为斐波那契数列,g[2i+1]=0,g[2i]=4g[2i-2]-g[2i-4]. 然后考虑m=2的斐波那契部分:k是给定的,仅需求斐波那契数列的下降幂,然后可以用第一类斯特林数去转换,然后求斐波那契数列的幂之和,假设斐波那契数列的两个特征根为a,b,则f(…
传送门 弱化版:FJOI2016 建筑师 由上面一题得到我们需要求的是\(\begin{bmatrix} N - 1 \\ A + B - 2 \end{bmatrix} \times \binom {A+B-2} {A - 1}\) 注意到这题的复杂度瓶颈是求第一类斯特林数,因为求组合数可以\(O(N)\),但是暂时我们求第一类斯特林数只有\(O(N^2)\)的方法 考虑第一类斯特林数的转移式子:\(\begin{bmatrix} a \\ b \end{bmatrix} = \begin{b…
题目大意: 对1到n求题目中描述的那个式子. 题目分析: 幂不好处理,转化为斯特林数. 根据$ n^k= \sum_ { i=0 }^k S(k,i)×i!×C(n,i) $. 我们可以将问题转化为对每个u和$ j=1 \sim k $求$ \sum_ { i=1 }^n \binom{dist(u,i)}{j} $. 通过杨辉三角向子树做一遍树形DP,再向父亲做一遍树形DP即可. 代码: #include<bits/stdc++.h> using namespace std; ; int n…
CTT=清华集训 题目大意 有\(n\)个点,点权为\(a_i\),你要连接一条边,使该图变成一颗树. 对于一种连边方案\(T\),设第\(i\)个点的度数为\(d_i\),那么这棵树的价值为: \[ val(T)=(\prod_{i=1}^na_i^{d_i}d_i^m)(\sum_{i=1}^nd_i^m) \] 求所有生成树的价值和\(\bmod 998244353\) \(n\leq 30000,m\leq 30\) 题解 很容易想到prufer序列 先把式子化简: \[ \begin{…
题目描述 “简单无向图”是指无重边.无自环的无向图(不一定连通). 一个带标号的图的价值定义为每个点度数的k次方的和. 给定n和k,请计算所有n个点的带标号的简单无向图的价值之和. 因为答案很大,请对998244353取模输出. 题解 因为懒得敲公式了,所以就直接粘题解了. 我们发现在这张图中每个点都是等价的,所以我们就只需要考虑一个点的贡献,最后乘上n就可以了. . 当一个点的度数为i时,我们可以从其他n-1个点中任意挑出i个点和它连边,而其余n-1个点之间可以任意连边. 然后我们发现后面那一…
BZOJ 洛谷 挺套路但并不难的一道题 \(Description\) 给定一棵\(n\)个点的树和\(K\),边权为\(1\).对于每个点\(x\),求\(S(x)=\sum_{i=1}^ndis(x,i)^K\). \(n\leq50000,\ k\leq150\). \(Solution\) 和其它求\(x^k\)的题一样,依旧用第二类斯特林数展开.(二项式定理依旧可以得到部分分,依旧不想看=-=) \[\begin{aligned}S(x)&=\sum_{i=1}^ndis(x,i)^K…
题目链接 对于单独一个点,我们枚举它的度数(有多少条边)来计算它的贡献:\[\sum_{i=0}^{n-1}i^kC_{n-1}^i2^{\frac{(n-2)(n-1)}{2}}\] 每个点是一样的,所以\[Ans=n\cdot 2^{\frac{(n-2)(n-1)}{2}}\sum_{i=0}^{n-1}C_{n-1}^ii^k\] 考虑如何计算\(\sum_{i=0}^{n-1}C_{n-1}^ii^k\). 然后...dalao看到\(i^k\)就想起了第二类斯特林数: \(S(n,m…