题面

解析

首先我们观察这个定义,

可以发现每个元素在统计答案时是平等的,

也就是单个元素的权值对答案没有特别的影响.

设元素权值为\(w[i]\),

那么我们就可以知道答案是\(\sum_{i=1}^nw[i]\)乘上一个系数.

而我们再次观察问题中的一个式子\(\left\vert s \right\vert*\sum\limits_iw[i]\),

实际上也就是把\(\sum\limits_iw[i]\)加了\(\left\vert s \right\vert\)次.

所以我们可以把它看成是集合中的每个元素都对答案造成了\(\sum\limits_iw[i]\)的贡献.

而贡献有两种情况:

  1. 元素自己给自己贡献

    这显然是总情况数\(S(n,k)\),\(S\)为第二类斯特林数.

  2. 元素\(j\)给\(i\)贡献(\(j!=i\))

    这里的情况数是\((n-1)*S(n-1,k)\).

    我们可以理解为先把除了\(i\)的元素分好,再把\(i\)加到其中一个里面.

    因为有还\(n-1\)个元素所以要乘\((n-1)\).

最后,答案就是\((S(n,k)+(n-1)*S(n-1,k))*\sum_{i=1}^nw[i]\).

code:

#include <iostream>
#include <cstdio>
#include <cstring>
#define ll long long
#define int ll
#define fre(x) freopen(x".in","r",stdin),freopen(x".out","w",stdout)
using namespace std; inline int read(){
int sum=0,f=1;char ch=getchar();
while(ch>'9' || ch<'0'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0' && ch<='9'){sum=sum*10+ch-'0';ch=getchar();}
return f*sum;
} const int N=200001;
const int Mod=1000000007;
int n,m,sum,f,jc[N]; inline int fp(int a,int b){
int ret=1;
while(b){
if(b&1) ret=(ll)ret*a%Mod;
a=(ll)a*a%Mod;b>>=1;
}
return ret;
} inline int inv(int x){
return fp(x,Mod-2);
} inline int stir(int n,int k){
int ret=0;
for(int j=0;j<k;j++) ret=(ret+fp(k-j,n)*inv(jc[j])%Mod*inv(jc[k-j])*((j&1)? -1:1))%Mod;
return ret;
} signed main(){
n=read();m=read();jc[0]=1;
for(int i=1;i<=n;i++) sum=(sum+read())%Mod;
for(int i=1;i<=m;i++) jc[i]=jc[i-1]*i%Mod;
int ans=sum*(stir(n,m)+stir(n-1,m)*(n-1)%Mod)%Mod;
printf("%lld\n",(ans+Mod)%Mod);
return 0;
}

题解 [CF961G] Partitions的更多相关文章

  1. 题解 CF961G 【Partitions】

    题目传送门 题目大意 给出\(n,k\),以及\(w_{1,2,..,n}\),定义一个集合\(S\)的权值\(W(S)=|S|\sum_{x\in S} w_x\),定义一个划分\(R\)的权值为\ ...

  2. CF961G Partitions(第二类斯特林数)

    题目 CF961G 前置 斯特林数\(\Longrightarrow\)斯特林数及反演总结 做法 相信大家能得出一个一眼式:\[Ans=\sum\limits_{i=1}^n w_i\sum\limi ...

  3. CF961G Partitions

    传送门 luogu 显然每个数的贡献可以一起算感性理解一下,于是答案就是权值总和乘以每个数被算了几次 那个"集合大小为\(|S|\)的集合权值为权值和乘\(|S|\)",可以看成一 ...

  4. CF961G Partitions(第二类斯特林数)

    传送门 对于每一个元素,我们只要能求出它的出现次数\(sum\),那么每个元素的贡献都是一样的,最终的答案为\(sum\times \sum_{i=1}^n w_i\) 那么分别讨论 如果这个元素自己 ...

  5. FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅱ

    因为垃圾电脑太卡了就重开了一个... 前传:多项式Ⅰ u1s1 我预感还会有Ⅲ 多项式基础操作: 例题: 26. CF438E The Child and Binary Tree 感觉这题作为第一题还 ...

  6. 【CF961G】Partitions 第二类斯特林数

    [CF961G]Partitions 题意:给出n个物品,每个物品有一个权值$w_i$,定义一个集合$S$的权值为$W(S)=|S|\sum\limits_{x\in S} w_x$,定义一个划分的权 ...

  7. 【CF961G】Partitions(第二类斯特林数)

    [CF961G]Partitions(第二类斯特林数) 题面 CodeForces 洛谷 题解 考虑每个数的贡献,显然每个数前面贡献的系数都是一样的. 枚举当前数所在的集合大小,所以前面的系数\(p\ ...

  8. 【题解】Codeforces 961G Partitions

    [题解]Codeforces 961G Partitions cf961G 好题啊哭了,但是如果没有不小心看了一下pdf后面一页的提示根本想不到 题意 已知\(U=\{w_i\}\),求: \[ \s ...

  9. 【cf961G】G. Partitions(组合意义+第二类斯特林数)

    传送门 题意: 给出\(n\)个元素,每个元素有价值\(w_i\).现在要对这\(n\)个元素进行划分,共划分为\(k\)组.每一组的价值为\(|S|\sum_{i=0}^{|S|}w_i\). 最后 ...

随机推荐

  1. Nginx之rewrite四种flag

    利用nginx的rewrite命令,可以实现URL的重写,可在nginx配置文件的server.location.if部分使用,对于rewrite有四种不同的flag. redirect:返回302临 ...

  2. html中'disabled'与'readonly'的区别

    html中'disabled'与'readonly'的区别 此随笔增量编辑 disabled 在提交表单的时候 值不会带入表单中, 而readonly则可以将值带入表单中.

  3. Python学习2——使用字符串(完整版)

    """ 在C语言入门的时候字符串没有好好学习,导致后期语言根本没有入门, 更导致之后大量的codeing时间浪费,效率低下. 因此,借助这次Python入门,好好地将字符 ...

  4. 测试工作小工具~总结&下载连接

    1.Gif录制小工具(动图提单 ≖ᴗ≖) 地址:https://licecap.en.softonic.com/download

  5. 图像识别tesseract-ocr

    下载地址 https://github.com/tesseract-ocr/tesseract/wiki/Data-Files. https://github.com/tesseract-ocr/te ...

  6. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by de

    MySQL在高版本需要指明是否进行SSL连接 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/framework?characterEncoding ...

  7. python selenium2 模拟点击+拖动 测试对象 58同城验证码

    #!/usr/bin/python # -*- coding: UTF-8 -*- # @Time : 2019/12/5 17:30 # @Author : shenghao/10347899@qq ...

  8. SIP中From ,Contact, Via 和 Record-Route/Route

    转载:http://eadgar.blogbus.com/logs/374635.html 注意:以下内容适用于SIP消息中,在具体的应用环境中,例如IMS,每个消息头都有其他独特的意义,但不会和以下 ...

  9. js获取图片内容上传

    <script> $('#pic').change(function(){ var size=document.getElementById('pic').files[0].size va ...

  10. 0502 xss 实验

    0x01 dvwa xss(reflected) 1.1 Security Level: low use the typical <script>alert(1)</script&g ...