Travel

描述

题目描述:

魔方国有n座城市,编号为1~n。城市之间通过n-1条无向道路连接,形成一个树形结构。

澜澜打算在魔方国进行mm次旅游,每次游览至少一座城市。为了方便,每次旅游游览的城市必须是连通的。此外,澜澜希望游览所有城市恰好一次。

澜澜想知道有多少种旅游方案满足条件,两个方案不同当且仅当存在某一次旅游游览了不同的城市。

澜澜不会数数,所以只好让你来帮他数方案。

输入:

第一行一个整数t表示数据组数 (1≤t≤100)。

每组数据第一行两个整数n,m(1≤m≤n≤105,Σn≤106),接下来n-1行每行两个整数ai​,bi​表示一条道路 (1≤ai​,bi​≤n)。

输出:

每组数据输出一行一个整数表示方案数对10^9+7取模的结果。

样例输入
2
3 1
1 2
1 3
3 2
1 2
1 3
样例输出
1
4
一开始看的时候,以为是图论,后面发现其实不是,这里的边其实并没有实际作用。因为题目只是要求在m次旅游中将n个城市都游历玩即可,所以用m-1条边将这个树划分为m个区域,这就代表了m次旅游,然后求其全排列就是答案
所以最终答案C(n-1,m-1)*m!
 #include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef long long ll;
const int maxn = << ;
const int mod = ;
int t, n, m, ta, tb;
ll c[maxn];
ll PowerMod(ll a, ll b, ll c) {
ll ans = ;
a = a % c;
while (b>) {
if (b % == )
ans = (ans * a) % c;
b = b / ;
a = (a * a) % c;
}
return ans;
}
void init(){
c[] = ;
for (int i = ; i <= maxn; i++)
{
c[i] = c[i - ] * i%mod;
}
}
ll C(ll n, ll m){return c[n] * PowerMod(c[m] * c[n - m] % mod, mod - , mod) % mod;}
int main(void) {
scanf("%d", &t);
init();
while (t-- > ) {
scanf("%d%d", &n, &m);
for (int i = ; i < n - ; i++)
scanf("%d%d",&ta,&tb);
if (m == ) {
printf("1\n");
continue;
}
ll ans = C(n - , m - );
ans = (ans*c[m]) % mod;
cout << ans << endl;
}
return ;
}

2018 Wannafly summer camp Day3--Travel的更多相关文章

  1. 2018 Wannafly summer camp Day8--连通块计数

    连通块计数 描述 题目描述: 小 A 有一棵长的很奇怪的树,他由 n 条链和 1 个点作为根构成,第 i条链有 ai​ 个点,每一条链的一端都与根结点相连. 现在小 A 想知道,这棵长得奇怪的树有多少 ...

  2. 2018 Wannafly summer camp Day2--Utawarerumono

    Utawarerumono 描述 题目描述: 算术是为数不多的会让久远感到棘手的事情.通常她会找哈克帮忙,但是哈克已经被她派去买东西了.于是她向你寻求帮助. 给出一个关于变量x,y的不定方程ax+by ...

  3. 2018 Wannafly summer camp Day2--New Game!

    New Game! 描述 题目描述: Eagle Jump公司正在开发一款新的游戏.泷本一二三作为其员工,获得了提前试玩的机会.现在她正在试图通过一个迷宫. 这个迷宫有一些特点.为了方便描述,我们对这 ...

  4. 2018 Wannafly summer camp Day8--区间权值

    区间权值 小Bo有\(n\)个正整数\(a_1\)--\(a_n\),以及一个权值序列\(w_1\)--\(w_n\),现在她定义\(f(l,r)=(\sum_{i=l}^r a_i^2) *w_{r ...

  5. 2018 Wannafly summer camp Day3--Shopping

    Shopping 描述 题目描述: 你要买n件物品,其中有一些是凳子. 商场正在举行促销活动,如果购物车中有至少一个凳子,那么你可以半价购买这个购物车中最贵的一个物品. 你有m辆购物车,请最小化你的花 ...

  6. 2018 Wannafly summer camp Day3--Knight

    Knight 题目描述: 有一张无限大的棋盘,你要将马从\((0,0)\)移到\((n,m)\). 每一步中,如果马在\((x,y)(x,y)\),你可以将它移动到 \((x+1,y+2)(x+1,y ...

  7. 2019 wannafly winter camp

    2019 wannafly winter camp Name Rank Solved A B C D E F G H I J K day1 9 5/11 O O O O O day2 5 3/11 O ...

  8. 2019 wannafly winter camp day 3

    2019 wannafly winter camp day 3 J 操作S等价于将S串取反,然后依次遍历取反后的串,每次加入新字符a,当前的串是T,那么这次操作之后的串就是TaT.这是第一次转化. 涉 ...

  9. 2020 CCPC Wannafly Winter Camp Day1 C. 染色图

    2020 CCPC Wannafly Winter Camp Day1 C. 染色图 定义一张无向图 G=⟨V,E⟩ 是 k 可染色的当且仅当存在函数 f:V↦{1,2,⋯,k} 满足对于 G 中的任 ...

随机推荐

  1. common-jdbc:一个基于SpringJdbcTemplate的高性能数据库操作工具类库

    项目地址:https://gitee.com/cnsugar/common-jdbc 一.简介 基于SpringJdbcTemplate的高性能数据库操作工具类库,支持mysql.oracle数据库, ...

  2. mybatis简单示例

    1.引入mybatis.jar mysql-connector-java-5.1.47.jar <dependency> <groupId>org.mybatis</gr ...

  3. 不同线程不能获取其他线程设置的ThreadLocal里面的值

    背景: 最近在项目用到了ThreadLocal,存放一些值.起线程异步获取ThreadLocal中的值,得到null.这是由于,ThreadLocal.get()会获取当前线程的一个map对象,以Th ...

  4. js简单时分秒倒计时

    效果: javascript: <script type="text/javascript"> function countTime() { //获取当前时间 var ...

  5. cocoapods的安装和安装过程中遇到的问题

    查看当前的ruby版本,我的版本是ruby 2.0.0p648 小于2.2安装cocoapods时会遇到以下问题 $ ruby -v 查看当前ruby源,默认为 https://rubygems.or ...

  6. Objective C 中的nil,Nil,NULL和NSNull理解

    kenyo网友的原创说法是:做IOS开发的估计都对Objective-C的内存管理机制很头疼,一不小心程序就会出内存泄露,我也不例外,前几天被指针的置nil与release给搞惨了,今和大家详细解说一 ...

  7. Java入门到精通——调错篇之Spring2.5利用aspect实现AOP时报错: error at ::0 can't find referenced pointcut XXX

    一.问题描述及原因. 利用Aspect注解实现AOP的时候出现了error at ::0 can't find referenced pointcut XXX.一看我以为注解写错了,结果通过查询相关资 ...

  8. SharePoint Designer - Workflow

    另一篇文章 SharePoint 2013 - Designer Workflow 1. Set field in current item : 不要连续多次使用,否则在发布时会出现unexpecte ...

  9. Windows装系统

    这几天电脑频繁崩溃,自己尝试着装了几次系统,遇到一些问题.有的解决了,有的没解决.将其一一记录在这里,作为经验参考. 自己以前最常用的方式是直接通过ultraiso将IOS文件解压到到U盘,会将U盘做 ...

  10. web中的cookie管理

    本篇是以JSP为背景介绍,但是在web开发中也是相同的原理. 什么是cookie 由于http是一种无状态的协议,因此服务器收到请求后,只会当做一次新的请求.即便你重复发送了1000次同样的请求,这1 ...