【bzoj1089】严格n元树
Description
如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树。如果该树中最底层的节点深度为d
(根的深度为0),那么我们称它为一棵深度为d的严格n元树。例如,深度为2的严格2元树有三个,如下图:
给出n, d,编程数出深度为d的n元树数目。
Input
仅包含两个整数n, d( 0 < n < = 32, 0 < = d < = 16)
Output
仅包含一个数,即深度为d的n元树的数目。
Sample Input
2 2
【样例输入2】
2 3
【样例输入3】
3 5
Sample Output
3
【样例输出2】
21
【样例输出2】
58871587162270592645034001
Solution
令s[i]为深度不超过i的n元树的数量
显然的s[i]=s[i-1]^n+1
加上高精度即可
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<queue>
#include<map>
#include<vector>
#include<set>
#define il inline
#define re register
using namespace std;
int n,d;
struct bignum{int len,s[];
} f[];
il bignum operator*(bignum a,bignum b){
bignum c;
memset(c.s,false,sizeof(c.s));
c.len=a.len+b.len-;
for(int i=;i<=a.len;i++)
for(int j=;j<=b.len;j++){
c.s[i+j-]+=a.s[i]*b.s[j];
c.s[i+j]+=c.s[i+j-]/;
c.s[i+j-]%=;
}
if(c.s[c.len+]>) c.len++;
return c;
}
il void operator++(bignum &a){
a.s[]++;
for(int i=;i<=a.len;i++){
a.s[i+]+=a.s[i]/;
a.s[i]%=;
}
if(a.s[a.len+]>) a.len++;
}
il bignum operator-(bignum a,bignum b){
bignum c;
memset(c.s,false,sizeof(c.s));
c.len=a.len;
for(int i=;i<=c.len;i++){
c.s[i]+=a.s[i]-b.s[i];
if(c.s[i]<) c.s[i+]--;
c.s[i]=(c.s[i]+)%;
}
return c;
}
il void print(bignum a){
printf("%d",a.s[a.len]);
for(int i=a.len-;i>;i--)
printf("%04d",a.s[i]);
printf("\n");
}
int main(){
scanf("%d%d",&d,&n);
if(d==){
cout<<"";return ;
}
f[].len=;f[].s[]=;
for(int i=;i<=n;i++){
f[i].len=;f[i].s[]=;
for(int j=;j<=d;j++){
f[i]=f[i]*f[i-];
// print(f[i]);
}
++f[i];
}
print(f[n]-f[n-]);
return ;
}
【bzoj1089】严格n元树的更多相关文章
- bzoj1089严格n元树——DP+高精度
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1089 f[d]为深度小于等于d的树的个数: 从根节点出发,有n个子树,乘法原理可以得到 f[ ...
- bzoj1089严格n元树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1089 这是一种套路:记录“深度为 i ”的话,转移需要讨论许多情况:所以可以记录成“深度&l ...
- [bzoj1089]严格n元树
设f[i]表示深度不超过i的方案数,那么有f[0]=1,$f[i]=f[i-1]^{n}+1$,然后用高精度即可(注意深度恰好为d还要用f[d]-f[d-1]才是答案) 1 #include<b ...
- 【BZOJ1089】[SCOI2003]严格n元树(高精度,动态规划)
[BZOJ1089][SCOI2003]严格n元树(高精度,动态规划) 题面 BZOJ 洛谷 题解 设\(f[i]\)表示深度为\(i\)的\(n\)元树个数.然后我们每次加入一个根节点,然后枚举它的 ...
- [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1089 分析: 第一感觉可以用一个通式求出来,但是考虑一下很麻烦,不好搞的.很容易发现最 ...
- BZOJ1089: [SCOI2003]严格n元树
1089: [SCOI2003]严格n元树 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 762 Solved: 387[Submit][Status ...
- BZOJ1089:[SCOI2003]严格n元树(DP,高精度)
Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d (根的深度为0),那么我们称它为一棵深度为d的严格n元树.例如,深度为2的严 ...
- BZOJ1089 [SCOI2003]严格n元树 【dp + 高精】
Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d (根的深度为0),那么我们称它为一棵深度为d的严格n元树.例如,深度为2的严 ...
- bzoj1089 [SCOI2003]严格n元树(dp+高精)
1089: [SCOI2003]严格n元树 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1899 Solved: 954[Submit][Statu ...
随机推荐
- STS-创建spring配置文件
1.创建一个bean文件 2.输入文件名applicationContext.xml 3.这里会自动显示模板文件 4.创建后,自动填充头不定义 到这里就可以发现,我们创建spring文件时,需要的配置 ...
- STM32烧录的常用方式
stm32烧录常用的方式一般为ST-LINK(或者J-tag)下载仿真和ISP下载 一.仿真器下载 仿真器分为J-TAG和SWD仿真,SWD仿真只需要4根线(VCC.GND.CLK.DATA)就可以了 ...
- 双面间谍(spy)
双面间谍 链接 分析: 戳这 代码: #include<cstdio> #include<algorithm> #include<cstdio> #include& ...
- [arc076F]Exhausted?[霍尔定理+线段树]
题意 地上 \(1\) 到 \(m\) 个位置摆上椅子,有 \(n\) 个人要就座,每个人都有座位癖好:选择 \(\le L\) 或者 \(\ge R\) 的位置.问至少需要在两边添加多少个椅子能让所 ...
- [Luogu5048] [Ynoi2019模拟赛]Yuno loves sqrt technology III[分块]
题意 长为 \(n\) 的序列,询问区间众数,强制在线. \(n\leq 5\times 10^5\). 分析 考虑分块,暴力统计出整块到整块之间的众数次数. 然后答案还可能出现在两边的两个独立的块中 ...
- SQL Server 常用内置函数
本文用于收集在运维中经常使用的系统内置(built-in)函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID ...
- .Net单元测试业务实践
使用次数和允许取消次数单元测试实践 /** * prism.js Github theme based on GitHub's theme. * @author Sam Clarke */ code[ ...
- 数据库历险记(二) | Redis 和 Mecached 到底哪个好?
文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3npq6ecr.bkt.clouddn.com/ ...
- phabricator 结合 arcanist 使用
简介 arcanist 是 phabricator 接口的命令工具,主要用于提交 diff 和 push review 通过的commit. 安装 下载源码,然后指定系统的环境变量即可 $ some_ ...
- index索引的一些简单理解
index索引(普通索引,允许出现相同的索引内容) 1.索引 索引是在数据量和访问量较大的时候,而出现的一种优化数据库的手段 索引可以提高查询(select)的效率,但相应的,它的 INSERT 与 ...