保镖排队
来源:互联网 发布:pokemongo 计算器软件 编辑:程序博客网 时间:2024/04/28 16:09
保镖排队 (Standard IO)
Time Limits: 1000 ms Memory Limits: 65536 KB
Goto ProblemSet
Description
【问题背景】
教主LHX作为知名人物,时刻会有恐怖分子威胁他的生命。于是教主雇佣了一些保镖来保障他的人生安全。
【题目描述】
教主一共雇佣了N个保镖,编号为1~N。每个保镖虽然身手敏捷武功高强,但是他在其余N-1个保镖里,都会有一个“上司”,他会对他的上司言听计从。但一号保镖例外,他武功盖世,不惧怕其余任何保镖,所以他没有上司。
教主LHX会对这N个保镖进行定期视察。每次视察的时候,首先会让所有保镖排队。
对于每个保镖,在他心目中会对他的所有下属的武功实力排个队。
现在教主要求排出来的队伍满足:①互为上司-下属的两个保镖,上司在前,下属在后 ②对于一个保镖的所有下属,武功实力较强的在前,较弱的在后。
教主想知道,总的排队方法数除以10007的余数是多少。
Input
输入的第一行为一个正整数T,表示了数据组数。
对于每组数据:
第一行为一个正整数N。
接下来N行,每行描述一个保镖。
第i+1行,会有一个整数K,代表第i个保镖的下属个数,接下来K个数,代表第i个保镖的下属按照武功实力从高到低的编号。
Output
输出包括C行,每行对于每组数据输出方案数mod 10007后的结果。
Sample Input
2
5
2 2 3
2 4 5
0
0
0
7
2 2 3
2 4 5
2 6 7
0
0
0
0
Sample Output
3
10
【样例说明】
对于第1组数据,有以下3种排列是合法的:
1 2 4 3 5
1 2 3 4 5
1 2 4 5 3
同时满足了1在2与3之前且2在3之前,2在4与5之前且4在5之前
【数据规模】
对于20%的数据,有N ≤ 9;
对于40%的数据,有对于所有K,有K ≤ 2;
对于60%的数据,有N ≤ 100;
Time Limits: 1000 ms Memory Limits: 65536 KB
Goto ProblemSet
Description
【问题背景】
教主LHX作为知名人物,时刻会有恐怖分子威胁他的生命。于是教主雇佣了一些保镖来保障他的人生安全。
【题目描述】
教主一共雇佣了N个保镖,编号为1~N。每个保镖虽然身手敏捷武功高强,但是他在其余N-1个保镖里,都会有一个“上司”,他会对他的上司言听计从。但一号保镖例外,他武功盖世,不惧怕其余任何保镖,所以他没有上司。
教主LHX会对这N个保镖进行定期视察。每次视察的时候,首先会让所有保镖排队。
对于每个保镖,在他心目中会对他的所有下属的武功实力排个队。
现在教主要求排出来的队伍满足:①互为上司-下属的两个保镖,上司在前,下属在后 ②对于一个保镖的所有下属,武功实力较强的在前,较弱的在后。
教主想知道,总的排队方法数除以10007的余数是多少。
Input
输入的第一行为一个正整数T,表示了数据组数。
对于每组数据:
第一行为一个正整数N。
接下来N行,每行描述一个保镖。
第i+1行,会有一个整数K,代表第i个保镖的下属个数,接下来K个数,代表第i个保镖的下属按照武功实力从高到低的编号。
Output
输出包括C行,每行对于每组数据输出方案数mod 10007后的结果。
Sample Input
2
5
2 2 3
2 4 5
0
0
0
7
2 2 3
2 4 5
2 6 7
0
0
0
0
Sample Output
3
10
【样例说明】
对于第1组数据,有以下3种排列是合法的:
1 2 4 3 5
1 2 3 4 5
1 2 4 5 3
同时满足了1在2与3之前且2在3之前,2在4与5之前且4在5之前
【数据规模】
对于20%的数据,有N ≤ 9;
对于40%的数据,有对于所有K,有K ≤ 2;
对于60%的数据,有N ≤ 100;
对于100%的数据,有T ≤ 10,N ≤ 1000,K ≤ N。
这题挺有收获,在考试时,总是想在原树上求dp方程,求不出。后面听了正解,原来是先多叉转二叉再递推上去。
为什么多叉转二叉呢,因为它的序列是个拓扑序列,每个点要在它左兄弟后面,最左子节点要在其父节点后,于是每个点入度仅为1;出度为1或2(又有右兄弟又有儿子)
那么递推方程就不难推了如果一个点出度为1,F[p]=F[next]
否则
F[p]=F[next1]*F[next2]*Combination(s1,s1+s2)
就是子数方案数的积乘上组合数(s指子树节点数)
要习惯性用图论表示实质关系,原图是上下属关系,而二叉图则是排列的关系图,我们需要的是排列关系图
0 0
- 保镖排队
- 【动态规划】保镖排队
- 【树形DP】保镖排队
- 【JZOJ】 【NOIP2014】【模拟试题】保镖排队
- BSOJ 2927 -- 【模拟试题】保镖排队
- 保镖
- Orz教主第6次模拟赛之保镖排队
- [jzoj]1794. 保镖排队(树形DP+想法)
- 流氓保镖
- 海盗、保镖
- 大保镖
- JZOJ5000. 保镖
- 排队
- 排队
- 排队
- 排队
- 排队
- 排队
- 解决cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题
- iOS概念之KVO(Key-Value Observing)
- hd 2115 I Love This Game——教练我要学语文
- android开发学习-日常用到的好东西-常用技巧分享
- 操作系统功能概述
- 保镖排队
- HDU-#1004 Let the Balloon Rise(字符串+map)
- poj 1665 double?float?
- hello MapDB
- Java集合源码学习(21)_Map接口的子接口SortedMap和NavigableMap
- poj 百练 2801填词
- 外键
- 黑马程序员_注释的使用
- vs 加载符号 问题