当前位置: 首页 > news >正文

天津建设网站安全员考试成绩查询网站产品展示系统

天津建设网站安全员考试成绩查询,网站产品展示系统,河北seo网站开发,前端开发是程序员吗题目链接 CF方向 Luogu方向 题目解法 首先一个套路是普通幂转下降幂(为什么?因为观察到 k k k 很小,下降幂可以转化组合数问题,从而 d p dp dp 求解) 即 f ( X ) k ∑ i 0 k { k i } i ! ( f ( X ) i ) f(X)^k…

题目链接

CF方向
Luogu方向

题目解法

首先一个套路是普通幂转下降幂(为什么?因为观察到 k k k 很小,下降幂可以转化组合数问题,从而 d p dp dp 求解)
f ( X ) k = ∑ i = 0 k { k i } i ! ( f ( X ) i ) f(X)^k=\sum\limits_{i=0}^{k}{k\brace i}i!\binom{f(X)}{i} f(X)k=i=0k{ik}i!(if(X))
现在的问题是对于所有生成树求出中间选 i i i 条边的方案数

我们令非空顶点的点集为关键点,其他生成树上的点为包含点
考虑树形 d p dp dp,令 f i , j f_{i,j} fi,j 表示在 i i i 的子树中选出至少 1 1 1 个关键点,且与 i i i 连通的生成树中选出 j j j 条边的方案数
考虑转移:

  1. v v v 子树中没有关键点
    f u , i → f u , i f_{u,i}\to f_{u,i} fu,ifu,i,不能计入答案计算,因为没有改变关键点集合
  2. 只有 v v v 子树中的关键点组成
    f v , i + f v , i − 1 → f u , i f_{v,i}+f_{v,i-1}\to f_{u,i} fv,i+fv,i1fu,i,不能计入答案计算,因为这个关键点集合在 v v v 时已经计算过
  3. u , v u,v u,v 子树中均有关键点
    f u , i ∗ f v , j → f u , i + j & f u , i + j + 1 f_{u,i}*f_{v,j}\to f_{u,i+j}\&f_{u,i+j+1} fu,ifv,jfu,i+j&fu,i+j+1,可以计入答案计算,因为改变了关键点集合

根据树形 d p dp dp 的时间复杂度计算,时间复杂度为 O ( n k ) O(nk) O(nk)

#include <bits/stdc++.h>
using namespace std;
const int N=100100,K=210,P=1e9+7;
int n,k,siz[N],s2[K][K],t[N],ans[N];
int ne[N<<1],e[N<<1],h[N],idx;
int f[N][K];
inline int read(){int FF=0,RR=1;char ch=getchar();for(;!isdigit(ch);ch=getchar()) if(ch=='-') RR=-1;for(;isdigit(ch);ch=getchar()) FF=(FF<<1)+(FF<<3)+ch-48;return FF*RR;
}
inline void add(int x,int y){ e[idx]=y,ne[idx]=h[x],h[x]=idx++;}
inline void inc(int &x,int y){ x+=y;if(x>=P) x-=P;}
void dfs(int u,int fa){siz[u]=1,f[u][0]=1;for(int i=h[u];~i;i=ne[i]){int v=e[i];if(v==fa) continue;dfs(v,u);for(int j=0;j<=k;j++) t[j]=f[u][j];for(int j=0;j<=k;j++){inc(t[j],f[v][j]);if(j) inc(t[j],f[v][j-1]);}for(int p=0,mxp=min(k,siz[u]);p<=mxp;p++) for(int q=0,mxq=min(k-p,siz[v]);q<=mxq;q++){int coef=1ll*f[u][p]*f[v][q]%P;inc(t[p+q],coef),inc(t[p+q+1],coef);inc(ans[p+q],coef),inc(ans[p+q+1],coef);}siz[u]+=siz[v];for(int j=0;j<=k;j++) f[u][j]=t[j];}
}
int main(){n=read(),k=read();s2[0][0]=1;for(int i=1;i<=k;i++) for(int j=1;j<=i;j++) s2[i][j]=(s2[i-1][j-1]+1ll*s2[i-1][j]*j)%P;memset(h,-1,sizeof(h));for(int i=1;i<n;i++){int x=read(),y=read();add(x,y),add(y,x);}dfs(1,-1);int ANS=0;for(int i=1,fac=1;i<=k;i++,fac=1ll*fac*i%P) ANS=(ANS+1ll*ans[i]*s2[k][i]%P*fac)%P;printf("%d\n",ANS);return 0;
}
http://www.yayakq.cn/news/234640/

相关文章:

  • 安卓开发和网站开发私募基金网站开发流程图
  • 购物网站策划方案上海专业网站建设价格低
  • 了解深圳网站页面设计网店运营数据分析
  • 网站制作价格甄选乐云践新电子商务网站建设与维护的教学
  • 网站设计遇到的问题嘉兴网站制作网页
  • 广州做网站 汉狮网络在线销售型网站
  • 网站开发公司 商业计划书优化大师win7
  • 关于写策划的一个网站网站建设产品分类
  • 广州专业网站优化公司沈阳微信网站开发
  • 建设外贸网站价格手表拍卖网站
  • 捷信做单网站微商城网站建设策划书
  • 如何在天气预报网站做引流设计房屋
  • 做网站做软件怎么赚钱广州购网站建设
  • 电子商务网站建设期末考试滨州外贸网站建设
  • 做网站必看的外国书籍内蒙古城乡建设厅网站
  • 如何识别网站的建站程序网站开发需要具备哪些技术
  • 怎么用阿里云服务器做网站.net 网站 语言
  • 儿童产品网站建设网站开发人员招聘
  • 做软装的网站做竞价可以让网站提高快速排名吗
  • 顺德微信网站建设图片网址生成器
  • 诸城 网站 建设重庆传媒公司
  • 需要做网站建设的公司在线数据分析工具
  • 东台网站网站建设成都做网站优化价格
  • 建筑设计甲级资质承接范围西宁整站优化
  • 北京海淀区工商局网站wordpress 注册邀请码
  • 推广型网站开发公司全国广电网络公司排名
  • wordpress+左侧导航网站后台的seo功能
  • pexels免费素材网站360度实景地图下载
  • 怎么做电视台网站襄樊市网站建设公司
  • 制作网站公司那家好网站验证码代码