题意:

简单来说就是生成一棵树,要求根到每个叶子节点上的路径颜色排列不同,

且每条根到叶子的路径恰有n条蓝边和n条红边。

求生成的树的节点个数。

1<=n<=10^6

题解:

简单计数。

显然,前n层的边的颜色是任意的,所以第i层就是2^i个点。

对于后n层,可以直接由上一层转移。

因为已经知道上一层合法的个数,那么如果现在每个点扩展两条边,

那么上一层的状态中,某种颜色的个数已经达到n的情况就有一条边不可扩展,

所以要减去2*C(i-1,n)。

 1
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 <cstdio>
#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)的更多相关文章

  1. 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][ ...

  2. Bubble Cup 11 - Finals [Online Mirror, Div. 1]题解 【待补】

    Bubble Cup 11 - Finals [Online Mirror, Div. 1] 一场很好玩的题啊! I. Palindrome Pairs 枚举哪种字符出现奇数次. G. AI robo ...

  3. 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 ...

  4. Bubble Cup 8 finals G. Run for beer (575G)

    题意: 给定一个带权无向图,每条边的代价为边权/当前速度,每次到达一个新节点,速度都会除以10. 求0号点到n-1号点的最小代价,如果多解输出点数最少的解,输出代价.路径点数.路径经过的点. 1< ...

  5. Bubble Cup 8 finals B. Bribes (575B)

    题意: 给定一棵n个点和有向边构成的树,其中一些边是合法边,一些边是非法边, 经过非法边需要1的费用,并且经过之后费用翻倍. 给定一个长为m的序列,问从点1开始按顺序移动到序列中对应点的总费用. 1& ...

  6. 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 ...

  7. 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 ...

  8. codeforce1046 Bubble Cup 11 - Finals 题解

    比赛的时候开G开了3h结果rose说一句那唯一一个AC的是羊的心态就崩了.. 这套题感觉质量挺好然后就back了下 A: AI robots 有三个限制条件:相互能够看见和智商的差.使用主席树,可以维 ...

  9. 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 ...

随机推荐

  1. SQL Server 如何通过SQL语句定位SSRS中的具体报表

    在一些IT技术人员的推广.简单培训后,公司很多部门都有一些非IT技术人员参与开发各自需求的Reporting Service报表.原因很简单,罗列出来的原因大概有这样一些: IT部门的考量: 1:IT ...

  2. Js IP转数字

    <script type="text/javascript"> function d2h(d) { return d.toString(16) } function h ...

  3. WPF 自定义搜索框

      控件中的搜索图标下载地址:http://www.easyicon.net/1183666-Search_icon.html 搜索框设计过程比较简单: 1.先定义一个Rectangle作为背景 2. ...

  4. ubuntu kylin 14.04安装配置MongoDB v2.6.1(转)

    1.获取最新版本 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.1.tgz 2.解压并进入bin目录 tar zxvf mongo ...

  5. 理解Docker(5):Docker 网络

    本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  6. [LeetCode] Duplicate Emails 重复的邮箱

    Write a SQL query to find all duplicate emails in a table named Person. +----+---------+ | Id | Emai ...

  7. NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析

    我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部 ...

  8. go http.Get请求 http.Post请求 http.PostForm请求 Client 超时设置

    http中有Get/Post/PostForm方法 也可以通过http包中设置client 请求配置 ,然后通过client.Do方法实现请求 下demo中功能都实现,其中有详细说明: package ...

  9. HTML 基础知识

    HTML 语言格式:1<标签名>内容</标签名> <标签名 属性>2<标签名></标签名>3<标签名/> 知识点:静态与动态网页 ...

  10. oracle 修改字符集支持中文

    1.登录sys关闭服务 [oracle@t-e ~]$ export ORACLE_SID=kamiltest1 [oracle@t-e ~]$ sqlplus / as sysdba SQL> ...