多校第七场 1010 hdu 5378 Leader in Tree Land(概率dp)
来源:互联网 发布:古川伊织评价知乎 编辑:程序博客网 时间:2024/04/28 15:27
AC代码:
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <vector>#define MAX 1007using namespace std;typedef long long LL;const LL mod = 1e9+7;int t,n,k,x,y;LL dp[MAX][MAX];LL fac[MAX];LL rec[MAX];int siz[MAX];vector<int> e[MAX];void add ( int u , int v ){ e[u].push_back ( v ); e[v].push_back ( u );}void dfs ( int u , int p ){ siz[u] = 1; for ( int i = 0 ; i < e[u].size() ; i++ ) { int v = e[u][i]; if ( v == p ) continue; dfs ( v , u ); siz[u] += siz[v]; }}LL inv ( LL num , LL x ){ LL ret = 1LL; while ( x ) { if ( x&1 ) { ret *= num; ret %= mod; } num *= num; num %= mod; x >>= 1; } return ret;}void pre (){ fac[0] = 1; for ( LL i = 1 ; i < MAX ; i++ ) { fac[i] = fac[i-1]*i; fac[i] %= mod; rec[i] = inv ( i , mod-2 ); }}void init ( ){ for ( int i = 0 ; i < MAX ; i++ ) e[i].clear(); memset ( dp , 0 , sizeof ( dp ));}int main ( ){ pre(); scanf ( "%d" , &t ); int cc = 1; while ( t-- ) { init (); scanf ( "%d%d" , &n , &k ); for ( int i = 1 ; i < n ; i++ ) { scanf ( "%d%d" , &x , &y ); add ( x , y ); } dfs ( 1 , -1 ); dp[0][0] = 1LL; for ( int i = 1 ; i <= n ; i++ ) for ( int j = 0; j <= k ; j++ ) { dp[i][j] = dp[i-1][j]*(siz[i]-1LL)%mod*rec[siz[i]]%mod; if ( j ) { dp[i][j] += dp[i-1][j-1]*rec[siz[i]]%mod; dp[i][j] %= mod; } } printf ( "Case #%d: %I64d\n" , cc++ , fac[n]*dp[n][k]%mod ); }}
0 0
- 多校第七场 1010 hdu 5378 Leader in Tree Land(概率dp)
- HDU 5378 Leader in Tree Land (概率dp,进阶)
- [概率dp] hdu 5378 Leader in Tree Land
- **HDU 5378 - Leader in Tree Land(概率DP)
- HDU 5378(Leader in Tree Land-利用概率dp)
- 树形DP,计数DP,概率DP(HDU 5378,Leader in Tree Land)
- HDOJ 5378 Leader in Tree Land 概率DP
- HDU 5378 Leader in Tree Land(2015 多校第7场 dp)
- hdu 5378 Leader in Tree Land 2015多校联合训练赛 树形dp
- HDU 5378 Leader in Tree Land【树形DP】
- hdu 5378 Leader in Tree Land(dp+逆元)
- hdu 5378 Leader in Tree Land dp+逆元
- 【DP】 HDOJ 5378 Leader in Tree Land
- hdu5378 Leader in Tree Land(概率dp+逆元)
- hdu 5378 Leader in Tree Land
- HDU 5378 Leader in Tree Land
- HDU 5378 Leader in Tree Land 树形背包
- 【HDU5378】Leader in Tree Land-概率DP+逆元+好题
- 第十八天 doGet和doPost
- JS array数组元素的添加和删除
- Eclipse调试中F5F6F7F8作用
- 【leetcode】Valid Anagram 【java】
- Eclipse导入外部项目问题总结
- 多校第七场 1010 hdu 5378 Leader in Tree Land(概率dp)
- UITableView
- Android View事件分发和处理
- 一款开源的指纹识别SDK
- Web.Config和Sql Server2005连接字符串总结
- JAVA查询Oracle数据库导出成txt文本
- ubuntu11.04 编译ffmpeg2.7 并生成 ffplay进行流媒体测试
- ABBYY FineReader 12中条码检测不到怎么办
- 如何查看mysql运行、访问记录等日志