[Codeforces 961G]Partitions】的更多相关文章

[题解]Codeforces 961G Partitions cf961G 好题啊哭了,但是如果没有不小心看了一下pdf后面一页的提示根本想不到 题意 已知\(U=\{w_i\}\),求: \[ \sum _{S}\sum_{s\in S}|s|\sum_{w \in s} w, S是U的一个k划分 \] 转换1 考虑这个\(|s|\)有点麻烦,稍微思考一下可以发现,我们最后的答案和\(w_i\)的分布没有关系,他们的贡献系数是一样的.答案只和他们的和有关. 转换2 考虑定位某个\(w_i\)对…
Description 题库链接 给你 \(n\) 个不同的元素组成的集合 \(R\) ,每个元素有一个权值 \(w\) .对于一个子集集合 \(S\) ,它的价值为 \(W(S)=|S|\cdot\sum\limits_{i\in S}w_i\) .现要求将该集合 \(R\) 划分成 \(k\) 个互不相交的非空子集 \(S_i\) .定义一种划分的价值为 \(\sum\limits_{i=1}^k W(S_i)\) .求所有划分的价值和.对大质数取模. \(1\leq k\leq n\leq…
推不动式子 我们考虑每一个$w_i$对答案的贡献,因为题目中定义集合的价值为$W(S) = \left | S \right |\sum_{x \in S}w_x$,这个系数$\left | S \right |$可以看作集合中所有的元素(包括$i$自己)对$i$产生了一次贡献,那么我们考虑一个元素$j$对$i$的贡献: 1.$j == i$的时候,相当于求把$n$个小球放到$k$个盒子里面的方案数,为$S(n, k)$($S$表示第二类斯特林数). 2.$j \neq i$的时候,只有$j$和…
目录 写在前面 一类反演问题 莫比乌斯反演 快速莫比乌斯变换(反演)与子集卷积 莫比乌斯变换(反演) 子集卷积 二项式反演 内容 证明 应用举例 另一形式 斯特林反演 第一类斯特林数 第二类斯特林数 反演公式 最值反演( \(\text{min-max}\) 容斥) 公式 证明 拉格朗日插值法 简介 求解 自然数的幂的前缀和 问题提出 问题解决 代码实现 写在前面 这是继数论和组合计数类数学相关与多项式类数学相关后的第三篇数学方面内容总结.主要记录自己近期学习的一些数学方法.内容比较杂,同时也起…
[题目]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划分方案中所在集合的大小的和. 考虑一种角度,所在集合的大…
题目链接 戳我 \(Solution\) 首先,这个直接推式子.自己推去 所以我们来想一想一些巧妙的方法 \(|S|\sum w_i\) 可以转化为:划分好集合后,每个点都对当前点有\(w_i\)的贡献 那么我们只要枚举每一个数\(j\)对\(i\)的贡献即可 当\(i=j\)时 贡献为:\[\begin{Bmatrix} n \\ k \end {Bmatrix}\] 当\(i \neq j\)时 贡献为:\[\begin{Bmatrix} n-1 \\ k \end {Bmatrix}\]…
题意: 给你 n 长全排列的一种情况,将其分为 k 份,取每份中的最大值相加,输出和的最大值和有多少种分法等于最大值. 思路: 取前 k 大值,储存下标,每两个 k 大值间有 vi+1 - vi 种分法,相乘即可. #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=998244353; int main() { int n,k;cin>>n>>k; int p…
[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_{…
B. Rectangle and Square 题目连接: http://codeforces.com/contest/135/problem/B Description Little Petya very much likes rectangles and especially squares. Recently he has received 8 points on the plane as a gift from his mother. The points are pairwise di…
Educational Codeforces Round 41  D. Pair Of Lines 考虑先把凸包找出来,如果凸包上的点数大于\(4\)显然不存在解,小于等于\(2\)必然存在解 否则枚举凸包上两个点连线,判断剩余点能否被一条线覆盖即可 view code #pragma GCC optimize("O3") #pragma GCC optimize("Ofast,no-stack-protector") #include<bits/stdc++…