5033. A

news/2024/11/24 13:56:35/

题目大意

如图
题目描述

Data Constraint
n50

题解

有一个叫prufer序列的东西
一个 n 个点的树会和一个长度为n2的prufer序列一一对应,且满足序列中的出现次数+1就是点在树中的度数。
然后就可以考虑构造prufer序列来求方案。
fi,j,k 表示处理完前 i 个点,树中已经j个点,当前构造的prufer序列长度为 k .转移比较简单。
最后对于x的答案就是 fn,x,x2

时间复杂度: O(n4)

SRC

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std ;#define N 50 + 10
typedef long long ll ;
const int MO = 1e9 + 7 ;int a[N] ;
ll f[N][N][N] ;
ll fac[N] , _fac[N] ;
int T , n , maxd , ret ;int Power( int x , int k ) {int s = 1 ;while ( k ) {if ( k & 1 ) s = (ll)s * x % MO ;x = (ll)x * x % MO ;k /= 2 ;}return s ;
}ll C( int n , int m ) { return (ll)fac[n] * _fac[m] % MO * _fac[n-m] % MO ; }int main() {freopen( "a.in" , "r" , stdin ) ;freopen( "a.out" , "w" , stdout ) ;fac[0] = _fac[0] = 1 ;for (int i = 1 ; i <= 50 ; i ++ ) {fac[i] = fac[i-1] * i % MO ;_fac[i] = Power( fac[i] , MO - 2 ) ;}scanf( "%d" , &T ) ;while ( T -- ) {scanf( "%d" , &n ) ;for (int i = 1 ; i <= n ; i ++ ) scanf( "%d" , &a[i] ) ;memset( f , 0 , sizeof(f) ) ;f[0][0][0] = 1 ;for (int i = 1 ; i <= n ; i ++ ) {for (int j = 0 ; j <= i ; j ++ ) {for (int k = 0 ; k <= n ; k ++ ) {f[i][j][k] = f[i-1][j][k] ;if ( j ) {for (int l = 0 ; l <= min( a[i] - 1 , k ) ; l ++ ) {f[i][j][k] = (f[i][j][k] + (ll)f[i-1][j-1][k-l] * C( k , l ) % MO) % MO ;}}}}}printf( "%d " , n ) ;for (int i = 2 ; i <= n ; i ++ ) printf( "%lld " , f[n][i][i-2] ) ;printf( "\n" ) ;}return 0 ;
}

以上.


http://www.ppmy.cn/news/253860.html

相关文章

万能四码(0126版本)之分析

万能四码&#xff08;0126版本&#xff09;之分析一、万能四码的重新排列原版是这样的&#xff1a;0126&#xff0c;0134&#xff0c;0159&#xff0c;0178&#xff0c;0239&#xff0c;0247&#xff0c;0258&#xff0c;0357&#xff0c;0368&#xff0c;0456&#xff0c;0489…

nginx反向代理服务器实现postgreSQL、greenplum数据库端口的反向代理

这篇博客实现功能&#xff1a; 有两台服务器都安装了gp&#xff08;greenplum&#xff09;或pg&#xff08;postgreSQL&#xff09;数据库&#xff0c;端口都为5432&#xff0c;现在要通过第一台服务器的15432端口访问到第二台的gp数据库。 通过安装nginx的stream模块和设置ngi…

903.保留log

1.通话–>保留 [DEBUG] sofia.c:6760 Channel sofia/internal/1008546710.6.1.21:46251 entering state [received][100][DEBUG] sofia.c:6770 Remote SDP:v0o- 3694465498 3694465500 IN IP4 10.6.1.21spjmediacIN IP4 10.6.1.21t0 0maudio 4000 RTP/AVP 99 0 8 101cIN IP…

佳博热敏打印机修改ip工具_佳博打印机修改ip教程本教程适用于80系列打印机及3150,9035打印.doc...

佳博打印机修改ip教程本教程适用于80系列打印机及3150,9035打印 佳博打印机修改IP教程 本教程适用于80系列打印机及3150,9035 打印自检测试页查看打印机的Ip步骤如下: GP80250以上系列打印机打印自检测试页:把打印机关机,按住FEED键再开机,等3秒左右,ERROR灯灭了放手即可…

第11章 WebShell检测

WebShell就是以ASP、PHP、JSP或者CGI等网页文件形式存在的一种命令执行环境&#xff0c;也可以将其成为一种网页后门。黑客在入侵了一个网站后&#xff0c;通常会将ASP或者PHP后门文件与网站服务器Web目录下正常的网页文件混在一起&#xff0c;然后就可以使用浏览器来访问ASP或…

NI CompactRIO9035与elmo电机驱动联合仿真系统搭建教程(二)

因本人项目需要搭建一套机器人控制仿真系统&#xff0c;控制器采用NI 的CompactRIO9035,电机驱动器使用的是elmo驱动器&#xff0c;对于驱动器可以支持多种总线通信方式&#xff0c;一般采用CAN和EtherCAT总线&#xff0c;如果采用CAN总线&#xff0c;则需要为控制买个CAN接口模…

单机Docker部署应用Kraft模式的Kafka集群

单机Docker部署应用Kraft模式的Kafka集群 1 Docker镜像准备1.1 下载Kafka1.2 配置容器1.3 修改kafka配置 2 部署Kafka集群2.1 启动节点容器2.2 生成一个 Cluster ID2.3 格式化存储目录2.4 启动kafka服务 3 知识3.1 控制器服务器3.2 进程角色3.3 仲裁投票者3.4 Kafka存储工具3.5…

NI Linux实时设备上升级固件

设备和对应的文件夹名称&#xff1a;\National Instruments\Shared\Firmware\ 设备 文件夹名称 cRIO-9030 7755 cRIO-9031 774B cRIO-9032 7841 cRIO-9033 7735 cRIO-9034 774D cRIO-9035 77dB的 带有NI-Sync的cRIO-9035 7875 cRIO-9036 77DC cRIO-9037 7840 cRIO-9038 77B9 cR…