做网站域名和空间费电商网站开发平台实验
2026/4/8 18:09:17 网站建设 项目流程
做网站域名和空间费,电商网站开发平台实验,宁波正规seo推广,织梦网站栏目题目描述 给定一个包含 n 个元素的集合#xff0c;元素编号从 1 到 n。第 i 个元素的权值为 wi​。某个子集的权值记为 。将该集合划分为 k 个子集的某个划分 R 的权值为 #xff08;回忆一下#xff0c;集合的划分是指将集合划分为若干个子集#xff0c;使得每个元素恰…题目描述给定一个包含 n 个元素的集合元素编号从 1 到 n。第 i 个元素的权值为 wi​。某个子集的权值记为。将该集合划分为 k 个子集的某个划分 R 的权值为回忆一下集合的划分是指将集合划分为若干个子集使得每个元素恰好属于一个子集。请计算将给定集合划分为恰好 k 个非空子集的所有划分的权值之和并输出其对 1097 取模的结果。若存在两个元素 x 和 y在某个划分中属于同一个子集在另一个划分中属于不同子集则这两个划分被认为是不同的。输入格式第一行包含两个整数 n 和 k1≤k≤n≤2⋅105分别表示元素个数和每个划分中的子集个数。第二行包含 n 个整数 wi​1≤wi​≤109表示集合中每个元素的权值。输出格式输出一个整数表示将集合划分为 k 个非空子集的所有划分的权值之和对 1097 取模。显示翻译题意翻译输入输出样例输入 #1复制4 2 2 3 2 3输出 #1复制160输入 #2复制5 2 1 2 3 4 5输出 #2复制645说明/提示第一个样例的所有可能划分如下{{1,2,3},{4}}W(R)3⋅(w1​w2​w3​)1⋅w4​24{{1,2,4},{3}}W(R)26{{1,3,4},{2}}W(R)24{{1,2},{3,4}}W(R)2⋅(w1​w2​)2⋅(w3​w4​)20{{1,3},{2,4}}W(R)20{{1,4},{2,3}}W(R)20{{1},{2,3,4}}W(R)26第二个样例的所有可能划分如下{{1,2,3,4},{5}}W(R)45{{1,2,3,5},{4}}W(R)48{{1,2,4,5},{3}}W(R)51{{1,3,4,5},{2}}W(R)54{{2,3,4,5},{1}}W(R)57{{1,2,3},{4,5}}W(R)36{{1,2,4},{3,5}}W(R)37{{1,2,5},{3,4}}W(R)38{{1,3,4},{2,5}}W(R)38{{1,3,5},{2,4}}W(R)39{{1,4,5},{2,3}}W(R)40{{2,3,4},{1,5}}W(R)39{{2,3,5},{1,4}}W(R)40{{2,4,5},{1,3}}W(R)41{{3,4,5},{1,2}}W(R)42。由 ChatGPT 4.1 翻译代码实现#includebits/stdc.h #define N 200000 #define reg register #define inl inline #define int long long using namespace std; const int md1e97; int n,k,s,a[N5],f[N5],iv[N5]; inl int qp(reg int x,reg int y) { reg int res1; for(;y;y1,xx*x%md) if(y1) resres*x%md; return res; } inl int calc(reg int x,reg int y) { reg int res0; for(reg int i0;iy;i) res(res((i1)?md-1:1)*iv[i]%md*qp(y-i,x)%md*iv[y-i]%md)%md; return res; } signed main() { scanf(%lld %lld,n,k); for(reg int i1;in;i) { scanf(%lld,a[i]); s(sa[i])%md; } f[0]1; for(reg int i1;in;i) f[i]f[i-1]*i%md; iv[n]qp(f[n],md-2); for(reg int in-1;i0;i--) iv[i]iv[i1]*(i1)%md; reg int anss*(calc(n,k)(n-1)*calc(n-1,k)%md)%md; printf(%lld\n,ans); return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询