Bubble Cup 8 finals H. Bots (575H)
题意:
简单来说就是生成一棵树,要求根到每个叶子节点上的路径颜色排列不同,
且每条根到叶子的路径恰有n条蓝边和n条红边。
求生成的树的节点个数。
1<=n<=10^6
题解:
简单计数。
显然,前n层的边的颜色是任意的,所以第i层就是2^i个点。
对于后n层,可以直接由上一层转移。
因为已经知道上一层合法的个数,那么如果现在每个点扩展两条边,
那么上一层的状态中,某种颜色的个数已经达到n的情况就有一条边不可扩展,
所以要减去2*C(i-1,n)。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <cstring>
typedef long long lint;
const int N = , MO = ;
int n,n2,ps,pr[N],fc[N],iv[N],ans;
int powmod(int a,int b)
{
int s = ;
for(;b;b>>=)
{
if(b&) s = (lint)s*a%MO;
a = (lint)a*a%MO;
}
return s;
}
void init(int n)
{
int i,j;
for(fc[]=,i=;i<=n;i++) fc[i] = (lint)fc[i-]*i%MO;
for(iv[n]=powmod(fc[n],MO-),i=n;i>=;i--) iv[i-] = (lint)iv[i]*i%MO;
}
inline int getc(int a,int b)
{
return (lint)fc[a]*iv[a-b]%MO*iv[b]%MO;
}
int main()
{
scanf("%d",&n); n2 = n<<;
init(n*);
int i,j,t=,c=;
ans = ;
for(i=;i<=n;i++) t = ((lint)t<<)%MO, ans = ((lint)ans+t)%MO;
for(i=n+;i<=n2;i++)
t = (((lint)t<<)-((lint)getc(i-,n)<<))%MO, ans = ((lint)ans+t)%MO;
printf("%d\n",(ans+MO)%MO);
return ;
}
Bubble Cup 8 finals H. Bots (575H)的更多相关文章
- Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1
		Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1 C. Jumping Transformers 我会状压 DP! 用 \(dp[x][y][ ... 
- Bubble Cup 11 - Finals [Online Mirror, Div. 1]题解 【待补】
		Bubble Cup 11 - Finals [Online Mirror, Div. 1] 一场很好玩的题啊! I. Palindrome Pairs 枚举哪种字符出现奇数次. G. AI robo ... 
- Codeforces Bubble Cup 8 - Finals [Online Mirror]H. Bots 数学
		H. Bots Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/H Desc ... 
- Bubble Cup 8 finals G. Run for beer (575G)
		题意: 给定一个带权无向图,每条边的代价为边权/当前速度,每次到达一个新节点,速度都会除以10. 求0号点到n-1号点的最小代价,如果多解输出点数最少的解,输出代价.路径点数.路径经过的点. 1< ... 
- Bubble Cup 8 finals B. Bribes (575B)
		题意: 给定一棵n个点和有向边构成的树,其中一些边是合法边,一些边是非法边, 经过非法边需要1的费用,并且经过之后费用翻倍. 给定一个长为m的序列,问从点1开始按顺序移动到序列中对应点的总费用. 1& ... 
- Codeforces Bubble Cup 8 - Finals [Online Mirror] F. Bulbo DP
		F. Bulbo Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/F Des ... 
- Bubble Cup X - Finals [Online Mirror] B. Neural Network country 矩阵快速幂加速转移
		B. Neural Network country time limit per test 2 seconds memory limit per test 256 megabytes Due to t ... 
- codeforce1046 Bubble Cup 11 - Finals 题解
		比赛的时候开G开了3h结果rose说一句那唯一一个AC的是羊的心态就崩了.. 这套题感觉质量挺好然后就back了下 A: AI robots 有三个限制条件:相互能够看见和智商的差.使用主席树,可以维 ... 
- Bubble Cup 12 - Finals [Online Mirror, unrated, Div. 1] E. Product Tuples
		题意略,题解生成函数练习题,1+(q-ai)x卷积即可,线段树优化(类似分治思想) //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pra ... 
随机推荐
- ZooKeeper:数据模型
			ZooKeeper数据模型 ZNode ZNode 分类 Stat Watcher Watcher工作原理 Watcher事件说明 Watcher注册 事件发布 示例 ZooKeeper 数据模型 整 ... 
- 使用bulkload向hbase中批量写入数据
			1.数据样式 写入之前,需要整理以下数据的格式,之后将数据保存到hdfs中,本例使用的样式如下(用tab分开): row1 N row2 M row3 B row4 V row5 N row6 M r ... 
- SQL 中的 AND OR
			AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤. AND 和 OR 运算符 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来. 如果第一个条件和第二个条件都成立,则 ... 
- 安卓gridview 网格,多行多列实现
			主Activity() private int[] image = { R.drawable.camera, R.drawable.wifi, R.drawable.temperature, R.dr ... 
- hdu5651 xiaoxin juju needs help (多重集的全排列+逆元)
			xiaoxin juju needs help 题意:给你一个字符串,求打乱字符后,有多少种回文串. (题于文末) 知识点: n个元素,其中a1,a2,··· ... 
- 国内优秀的Android资源
			因为一些大家都知道的原因,Android很多官方出品的优秀开发资源在国内无法访问. 国内的同行们对此也做出了很多努力,有很多朋友通过各种手段把很多优秀的资源搬运到了国内,为国内android开发者提供 ... 
- 关于Spring 国际化 No message found under code 的解决方案
			用spring做国际化时经常会报: org.springframework.context.NoSuchMessageException: No message found under code 'u ... 
- [LeetCode] Arranging Coins 排列硬币
			You have a total of n coins that you want to form in a staircase shape, where every k-th row must ha ... 
- 自己写的一个Pager分页组件,WebForm,Mvc都适用
			我一说写这个功能的时候,好多人估计有疑问.分页功能网上多的是,搜一个不就行了,你这样不是浪费时间么.你说这句话的时候,我是比较信的,首先自己写一些东西是很耗时,有这些时间又能多打几盘LOL了.但是我觉 ... 
- java-读取xml
			1.使用w3c.document /** * 测试 * */ public static void testReadLabel() { String path = "C:\\Users\\h ... 
