题目

分析

套上prufer序列

对于一颗n个节点度数分别为\(d_1、d_2...d_n\)方案数为\(\dfrac{(n-2)!}{(d_1-1)!(d_2-1)!......(d_n-1)!}\)

所以答案为

\[\sum_{d_1+d_2+...+d_n=2n-2}\dfrac{(n-2)!}{(d_1-1)!(d_2-1)!...(d_n-1)!}w_1^{d_1}w_2^{d_2}...w_n^{d_n}d_1d_2...d_n
\]

使\(d_i-1\)

\[w_1w_2...w_n(n-2)!\sum_{d_1+d_2+...+d_n=n-2}\dfrac{1}{d_1!d_2!...d_n!}w_1^{d_1}w_2^{d_2}...w_n^{d_n}(d_1+1)(d_2+1)...(d_n+1)
\]

考虑处理

\[\sum_{d_1+d_2+...+d_n=n-2}\dfrac{1}{d_1!d_2!...d_n!}w_1^{d_1}w_2^{d_2}...w_n^{d_n}(d_1+1)(d_2+1)...(d_n+1)
\]

对于多项式\((d_1+1)(d_2+1)...(d_n+1)\),拆开后变成一个个形如\(d_1d_2...d_k\)的项

我们考虑\(d_1d_2d_3\)

\[\sum_{d_1+d_2+...+d_n=n-2}\dfrac{1}{d_1!d_2!...d_n!}w_1^{d_1}w_2^{d_2}...w_n^{d_n}d_1d_2d_3
\]

\[w_1w_2w_3\sum_{d_1+d_2+...+d_n=n-2-3}\dfrac{1}{d_1!d_2!...d_n!}w_1^{d_1}w_2^{d_2}...w_n^{d_n}
\]

\[\sum_{k=1}^{n-2}(\sum_{1\leq p_1<p_2<...<p_k \leq n}\Pi_{i=1}^{k}w_{p_i})\dfrac{(\sum_{i=1}^{n}w_i)^{n-2-k}}{(n-2-k)!}
\]

//后面的内容我还不太理解,只能大概讲讲。如果讲错了,请大佬指出一下错误

现在解释一下最后一条式子

根据指数型生成函数的定义

\[G(x)=\sum g_i\dfrac{x^i}{i!}=\dfrac{x^1}{1!}+\dfrac{x^2}{2!}+\dfrac{x^3}{3!}+..
\]

当\(g_i=1\)时,\(G(x)=e^x\)

那么,$$\sum_{d_1+d_2+...+d_n=n-2-k}\dfrac{1}{d_1!d_2!...d_n!}w_1{d_1}w_2{d_2}...w_n^{d_n}$$

\[=(\dfrac{w_1^1}{1!}+\dfrac{w_1^2}{2!}+..)(\dfrac{w_2^1}{1!}+\dfrac{w_2^2}{2!}+..)...(\dfrac{w_n^1}{1!}+\dfrac{w_n^2}{2!}+..)[其中总次方数为n-2-k]
\]

\[=G(w_1)G(w_2)...G(w_n)[其中总次方数为n-2-k]
\]

\[=e^{w_1+w_2+...+w_n}[其中总次方数为n-2-k]
\]

\[=G(w_1+w_2+...+w_n)=\sum \dfrac{(w_1+w_2+...+w_n)^i}{i!}
\]

那么当\(i=n-2-k\)时,则就是\(\sum_{d_1+d_2+...+d_n=n-2-k}\dfrac{1}{d_1!d_2!...d_n!}w_1^{d_1}w_2^{d_2}...w_n^{d_n}\)

即为$$\dfrac{(\sum_{i=1}{n}w_i){n-2-k}}{(n-2-k)!}$$

  1. #include <cmath>
  2. #include <iostream>
  3. #include <cstdio>
  4. #include <cstdlib>
  5. #include <cstring>
  6. #include <algorithm>
  7. #include <queue>
  8. #include <map>
  9. const int maxlongint=2147483647;
  10. const long long mo=1e9+7;
  11. const int N=2005;
  12. using namespace std;
  13. long long w[N],ans,f[N],sum,jc[N],ww;
  14. int n;
  15. long long mi(long long x,int y)
  16. {
  17. long long s=1;
  18. for(;y;x=x*x%mo,y>>=1) s=y&1?s*x%mo:s;
  19. return s;
  20. }
  21. int main()
  22. {
  23. scanf("%d",&n);
  24. f[0]=jc[0]=ww=1;
  25. for(int i=1;i<=n;i++)
  26. {
  27. scanf("%lld",&w[i]),sum=(sum+w[i])%mo,jc[i]=jc[i-1]*i%mo,ww=ww*w[i]%mo;
  28. for(int j=i;j>=1;j--) f[j]=(f[j]+f[j-1]*w[i]%mo)%mo;
  29. }
  30. for(int k=0;k<=n-2;k++)
  31. ans=(ans+f[k]*mi(sum,n-2-k)%mo*mi(jc[n-2-k],mo-2)%mo)%mo;
  32. printf("%lld",ans*ww%mo*jc[n-2]%mo);
  33. }

【JZOJ5180】【NOI2017模拟6.29】呵呵的更多相关文章

  1. 【JZOJ5179】【NOI2017模拟6.29】哈哈

    题意 给定一个长度为n的序列,你可以进行若干次操作: 选择一个区间,删掉,并获得Val[Len]的得分,Len为这个区间的长度: 其中这个区间满足: 1.相邻两个数差的绝对值为1 2.每个数都大于相邻 ...

  2. JZOJ 5184. 【NOIP2017提高组模拟6.29】Gift

    5184. [NOIP2017提高组模拟6.29]Gift (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed ...

  3. [jzoj NOIP2018模拟10.29]

    OI生涯的最高分,来了纪中这么多天,在经历了这么多场“NOIP难度”的模拟赛之后,终于看到了真正的NOIP 今天考场上效率很高,很快码完了全部的题目,留下了足够的时间对拍和...发呆.不得不说看着电脑 ...

  4. 「模拟8.29」chinese(性质)·physics·chemistry(概率期望)

    T1  chinese 根据他的问题i*f[i]我们容易联想到,答案其实是每种方案中每个点的贡献为1的加和 我们可以转变问题,每个点在所有方案的贡献 进而其实询问就是1-k的取值,有多少中方案再取个和 ...

  5. 【模拟7.29】大佬(概率期望DP)

    首先根据数据范围,可以判断基本上是n^2的复杂度 通过分析我们发现每一次都可以从m个数中任意选,既然任意选,那么此时的概率的分母就是不变的,然而题中涉及的是某一段的最大值,所以我们按套路假设 f[i] ...

  6. [jzoj]2505.【NOIP2011模拟7.29】藤原妹红

    Link https://jzoj.net/senior/#main/show/2505 Description 在幻想乡,藤原妹红是拥有不老不死能力的人类.虽然不喜欢与人们交流,妹红仍然保护着误入迷 ...

  7. [JZOJ 5888] [NOIP2018模拟9.29] GCD生成树 解题报告 (最大生成树+公约数)

    题目链接: http://172.16.0.132/senior/#main/show/5888 题目: 题解: 思路是这样的:两个数的最大公约数一定不会比这两个数的任意一个数大.因此我们把权值相等的 ...

  8. [考试反思]0822NOIP模拟测试29:延续

    想保持优秀很困难 但是想持续垫底却很简单 但是你不想垫底的话持续垫底也很容易... 分AB卷,A卷共15人. skyh,tdcp,kx155,B哥145... 我:35,倒数第一. 板子专题,爆零快乐 ...

  9. 8.22 NOIP模拟测试29(B) 爬山+学数数+七十和十七

    T1 爬山 二分最高高度,$O(1)$判断是否可行. #include<iostream> #include<cstdio> #define ll long long usin ...

随机推荐

  1. 华为HCNA乱学Round 7:VLAN间路由

  2. Tensorf实战第九课(自编码AutoEncoder)

    本节我们将了解神经网络进行非监督形式的学习,即autoencoder自编码 假设图片经过神经网络后再输出的过程,我们看作是图片先被压缩然后解压的过程.那么在压缩的时候,原有的图片质量被缩减,解压时用信 ...

  3. 【Python开发】Url中文字符时记得转码edcode("utf-8")

    在url中使用中文其实是一个坏习惯,会带来一系列的转码问题, 我更喜欢英文译名或者id来标识某个uri.但是现实往往是残酷的, 特别是在我们调用别人服务时候,有时候被逼无奈使用中文URL. Pytho ...

  4. 【DSP开发】【VS开发】YUV与RGB格式转换

    [视频处理]YUV与RGB格式转换 YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式. 因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式. RGB与 ...

  5. 合并两个排序的链表递归和非递归C++实现

    题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,要求合成后的链表满足单调不减规则. 1.分析 已知输入的两个链表递增有序,要使输出的链表依然递增有序,可以依次从输入的两个链表中挑选最小的 ...

  6. 【有奖征集】报表模板库邀您提反馈,轻松赢取P30!

    >>立即参赛 赛事初衷 大数据时代,数据的价值愈发彰显,什么样的报表才能真正帮助业务决策?这几乎是所有信息化建设的企业和个人都在思考的问题. 作为报表领域标杆企业,葡萄城于2017年推出了 ...

  7. python 爬虫--下载图片,下载音乐

    #下载图片 imgUrl='http://www.pptbz.com/pptpic/UploadFiles_6909/201211/2012111719294197.jpg' r=requests.g ...

  8. Roadmap-学习目标

    自学过一些HTML标签,学的不多也没经常用,但还是比较喜欢前端,希望可以深入学习有用的东西,最后弄一个自己看的过去的博客练练.手.

  9. 非旋(fhq)Treap小记

    前置知识:二叉搜索树 以下摘自 ↑: 二叉搜索树每次操作访问O(深度)个节点. 在刻意构造的数据中,树的形态会被卡成一条链,于是复杂度爆炸 它的复杂度与直接暴力删除类似. 但二叉搜索树扩展性强.更复杂 ...

  10. Kong/Konga - Docker容器化安装

    1.0 安装kong + postgresDB docker network create kong-net docker pull postgres:latest docker run -d --n ...