题目

求有多少棵严格 \(n\) 叉树深度为 \(k\)


分析

考虑往下放子孙挺难维护的,考虑在上面换新的根。

设 \(dp[i]\) 表示深度不超过 \(i\) 的方案数,那么

\(dp[i]=dp[i-1]^n+1\)

就是新开一个根,每个子节点的选择独立,为 \(dp[i-1]^n\),再加上只有一个根节点的情况。

最后答案就是 \(dp[k]-dp[k-1]\)


代码

#include <cstdio>
#include <cstring>
using namespace std;
const int N=1011; int ans[N],Ans[N],C[N],t[N],k,n;
void one(int *ans){
int now=1;
while (ans[now]==9) ++now;
if (now>ans[0]) ans[0]=now;
++ans[now];
for (int i=1;i<now;++i) ans[i]=0;
}
void mul(int *A,int *B){
memset(C,0,sizeof(C));
for (int i=1;i<=A[0];++i)
for (int j=1;j<=B[0];++j)
C[i+j-1]+=A[i]*B[j];
C[0]=A[0]+B[0]+1;
for (int i=1;i<C[0];++i) C[i+1]+=C[i]/10,C[i]%=10;
while (C[0]&&!C[C[0]]) --C[0];
memcpy(A,C,sizeof(C));
}
void ksm(int *ans){
memset(t,0,sizeof(t)),t[t[0]=1]=1;
for (int y=k;y;y>>=1,mul(ans,ans))
if (y&1) mul(t,ans);
memcpy(ans,t,sizeof(t));
}
void dec(int *ans){
int g=0,s;
for (int i=1;i<=ans[0];++i){
s=ans[i]-Ans[i]-g;
if (s<0) g=1,ans[i]=s+10;
else g=0,ans[i]=s;
}
while (ans[0]&&!ans[ans[0]]) --ans[0];
}
int main(){
scanf("%d%d",&k,&n);
if (!n||k==1) return !printf("1");
ans[ans[0]=1]=1;
for (int i=1;i<=n;++i){
memcpy(Ans,ans,sizeof(ans));
ksm(ans),one(ans);
}
dec(ans);
for (int i=ans[0];i;--i) putchar(ans[i]+48);
return 0;
}

#dp,高精度#洛谷 4295 [SCOI2003]严格N元树的更多相关文章

  1. bzoj 1089 [SCOI2003]严格n元树(DP+高精度)

    1089: [SCOI2003]严格n元树 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1250  Solved: 621[Submit][Statu ...

  2. 【线型DP】洛谷P2066 机器分配

    [线型DP]洛谷P2066 机器分配 标签(空格分隔): 线型DP [题目] 题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配 ...

  3. 【BZOJ1089】[SCOI2003]严格n元树(高精度,动态规划)

    [BZOJ1089][SCOI2003]严格n元树(高精度,动态规划) 题面 BZOJ 洛谷 题解 设\(f[i]\)表示深度为\(i\)的\(n\)元树个数.然后我们每次加入一个根节点,然后枚举它的 ...

  4. 洛谷 P3373 【模板】线段树 2

    洛谷 P3373 [模板]线段树 2 洛谷传送门 题目描述 如题,已知一个数列,你需要进行下面三种操作: 将某区间每一个数乘上 xx 将某区间每一个数加上 xx 求出某区间每一个数的和 输入格式 第一 ...

  5. bzoj1089 [SCOI2003]严格n元树(dp+高精)

    1089: [SCOI2003]严格n元树 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1899  Solved: 954[Submit][Statu ...

  6. BZOJ 1089: [SCOI2003]严格n元树

    1089: [SCOI2003]严格n元树 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1591  Solved: 795[Submit][Statu ...

  7. BZOJ1089: [SCOI2003]严格n元树

    1089: [SCOI2003]严格n元树 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 762  Solved: 387[Submit][Status ...

  8. SCOI2003 严格N元树

    SCOI2003 严格N元树 Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d (根的深度为0),那么我们称它为一棵深度为d的 ...

  9. Bzoj3197/洛谷3296 [SDOI2013]刺客信条assassin(树的重心+树Hash+树形DP+KM)

    题面 Bzoj 洛谷 题解 (除了代码均摘自喻队的博客,可是他退役了) 首先固定一棵树,枚举另一棵树,显然另一棵树只有与这棵树同构才有可能产生贡献 如果固定的树以重心为根,那么另一棵树最多就只有重心为 ...

  10. 洛谷 P2495 [SDOI2011]消耗战(虚树,dp)

    题面 洛谷 题解 虚树+dp 关于虚树 了解一下 具体实现 inline void insert(int x) { if (top == 1) {s[++top] = x; return ;} int ...

随机推荐

  1. JVM类的加载和加载器

    JVM类的加载和类的加载器 一.类的加载过程 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来 ...

  2. ThreadPoolExecutor和Executors的区别

    Executors创建的线程有两类 newFixedThreadPool和newSingleThreadExecutor,队列数量弹性,创建的线程的队列最大值为INTEGER.max容易造成OOM n ...

  3. webservice之jersey简单实用

    前言 项目中更需要使用到webservice,具体的是使用jersey.那么首先需要了解jersey和webservice的关系,捋顺webservice框架的各种实现,通过查阅相关博客,我个人总结w ...

  4. 【Azure API 管理】API Management 访问限制策略[quota-by-key] 中参数 [renewal-period] 的实验和理解

    quota-by-key 策略允许根据密钥强制实施可续订或有生存期的调用量和/或带宽配额. 密钥的值可以是任意字符串,通常使用策略表达式来提供密钥. 可以添加可选增量条件,指定应在配额范围内的请求. ...

  5. 【Azure Developer】使用Key Vault的过程中遇见的AAD 认证错误

    在使用应用程序访问Key Vault获取密钥信息时,现后遇见了多种认证错误.使用的代码为: String keyVaultUrl = "https://test-xxx.vault.azur ...

  6. MAUI发布APK初体验

    目的 很早就有想编写安卓程序玩玩的念头了,所以这次学习将MAUI程序生成apk包来玩. 本文apk下载地址:https://azrng.lanzouv.com/iBQRe0eeg8wf ,内容很简单, ...

  7. 1. JVM体系结构

    1. 前言 作为Java工程师 ,jvm对于 java的重要性不言而喻,但是 我们又对jvm了解多少 Java的跨平台性 java发布的口号 "一处编译到处运行 " 依赖于jvm, ...

  8. C++ //类模板成员函数类外实现

    1 #include <iostream> 2 #include <string> 3 #include<fstream> 4 using namespace st ...

  9. Swagger (API框架,API 文档 与API 定义同步更新)

    1.依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring ...

  10. MySql注入—DNS注入

    MySql注入-DNS注入 1.DNS注入原理 一.DNS注入原理 DNS注入,是通过查询相应DNS解析产生的记录日志来获取想要的数据 对于sql盲注这样的方法常常用到二分法,非常麻烦而且没有回显,要 ...