【JZOJ5180】【NOI2017模拟6.29】呵呵
题目
分析
套上prufer序列,
对于一颗n个节点度数分别为\(d_1、d_2...d_n\)方案数为\(\dfrac{(n-2)!}{(d_1-1)!(d_2-1)!......(d_n-1)!}\)
所以答案为
\]
使\(d_i-1\)
\]
考虑处理
\]
对于多项式\((d_1+1)(d_2+1)...(d_n+1)\),拆开后变成一个个形如\(d_1d_2...d_k\)的项
我们考虑\(d_1d_2d_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}$$
\]
\]
\]
\]
那么当\(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)!}$$
#include <cmath>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <queue>
#include <map>
const int maxlongint=2147483647;
const long long mo=1e9+7;
const int N=2005;
using namespace std;
long long w[N],ans,f[N],sum,jc[N],ww;
int n;
long long mi(long long x,int y)
{
long long s=1;
for(;y;x=x*x%mo,y>>=1) s=y&1?s*x%mo:s;
return s;
}
int main()
{
scanf("%d",&n);
f[0]=jc[0]=ww=1;
for(int i=1;i<=n;i++)
{
scanf("%lld",&w[i]),sum=(sum+w[i])%mo,jc[i]=jc[i-1]*i%mo,ww=ww*w[i]%mo;
for(int j=i;j>=1;j--) f[j]=(f[j]+f[j-1]*w[i]%mo)%mo;
}
for(int k=0;k<=n-2;k++)
ans=(ans+f[k]*mi(sum,n-2-k)%mo*mi(jc[n-2-k],mo-2)%mo)%mo;
printf("%lld",ans*ww%mo*jc[n-2]%mo);
}
【JZOJ5180】【NOI2017模拟6.29】呵呵的更多相关文章
- 【JZOJ5179】【NOI2017模拟6.29】哈哈
题意 给定一个长度为n的序列,你可以进行若干次操作: 选择一个区间,删掉,并获得Val[Len]的得分,Len为这个区间的长度: 其中这个区间满足: 1.相邻两个数差的绝对值为1 2.每个数都大于相邻 ...
- JZOJ 5184. 【NOIP2017提高组模拟6.29】Gift
5184. [NOIP2017提高组模拟6.29]Gift (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Detailed ...
- [jzoj NOIP2018模拟10.29]
OI生涯的最高分,来了纪中这么多天,在经历了这么多场“NOIP难度”的模拟赛之后,终于看到了真正的NOIP 今天考场上效率很高,很快码完了全部的题目,留下了足够的时间对拍和...发呆.不得不说看着电脑 ...
- 「模拟8.29」chinese(性质)·physics·chemistry(概率期望)
T1 chinese 根据他的问题i*f[i]我们容易联想到,答案其实是每种方案中每个点的贡献为1的加和 我们可以转变问题,每个点在所有方案的贡献 进而其实询问就是1-k的取值,有多少中方案再取个和 ...
- 【模拟7.29】大佬(概率期望DP)
首先根据数据范围,可以判断基本上是n^2的复杂度 通过分析我们发现每一次都可以从m个数中任意选,既然任意选,那么此时的概率的分母就是不变的,然而题中涉及的是某一段的最大值,所以我们按套路假设 f[i] ...
- [jzoj]2505.【NOIP2011模拟7.29】藤原妹红
Link https://jzoj.net/senior/#main/show/2505 Description 在幻想乡,藤原妹红是拥有不老不死能力的人类.虽然不喜欢与人们交流,妹红仍然保护着误入迷 ...
- [JZOJ 5888] [NOIP2018模拟9.29] GCD生成树 解题报告 (最大生成树+公约数)
题目链接: http://172.16.0.132/senior/#main/show/5888 题目: 题解: 思路是这样的:两个数的最大公约数一定不会比这两个数的任意一个数大.因此我们把权值相等的 ...
- [考试反思]0822NOIP模拟测试29:延续
想保持优秀很困难 但是想持续垫底却很简单 但是你不想垫底的话持续垫底也很容易... 分AB卷,A卷共15人. skyh,tdcp,kx155,B哥145... 我:35,倒数第一. 板子专题,爆零快乐 ...
- 8.22 NOIP模拟测试29(B) 爬山+学数数+七十和十七
T1 爬山 二分最高高度,$O(1)$判断是否可行. #include<iostream> #include<cstdio> #define ll long long usin ...
随机推荐
- 攻防世界新手区pwn writeup
CGfsb 题目地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5050 下载文 ...
- [python] 格式化方法 format
先介绍包含的所有规则 花括号声明{}:用于渲染前的参数引用声明,花括号里可以用数字代表引用参数的序号,或者变量名直接引用. 从format参数引入的变量名 冒号: 字符位数声明 空白自动填补符的声明 ...
- [转贴]Linux内核LTS长期支持版生命周期
Linux内核LTS长期支持版生命周期 https://blog.51cto.com/dangzhiqiang/1894026 搞不懂长期支持版本的特点和区别. 党志强关注0人评论4371人阅读201 ...
- Shell脚本编程(一)
shell 脚本编程(一) 1 . shell 的作用 Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一 ...
- ETL初探
初识ETL 概念 ETL即Extract-Transform-Load.目的是将分散.凌乱.异质的数据整合在一起,为决策提供分析数据,是BI项目(Business Intellifence)项目中重要 ...
- 终于搞懂了vue 的 render 函数(一) -_-|||
终于搞懂了vue 的 render 函数(一) -_-|||:https://blog.csdn.net/sansan_7957/article/details/83014838 render: h ...
- spark教程(四)-SparkContext 和 RDD 算子
SparkContext SparkContext 是在 spark 库中定义的一个类,作为 spark 库的入口点: 它表示连接到 spark,在进行 spark 操作之前必须先创建一个 Spark ...
- Linux中使用curl命令发送带参数的get请求和post请求
GET 请求 curl命令 + 请求接口的地址 curl http://**.**.***.**/SeedAgile/SeedApi/querySprintByRequirementNo?parame ...
- 导入excel-uploadify+npoi
总结: 导入文件时一定要给database设置栏位 虚拟表的栏位名称可以与数据库表不一致,但顺序一定要一致,因为它是按照顺序依次插入的 sheet.FirstRowNum = 0; sheet.Fir ...
- JS基础_字面量和变量
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...