设f[i]表示深度不超过i的方案数,那么有f[0]=1,$f[i]=f[i-1]^{n}+1$,然后用高精度即可(注意深度恰好为d还要用f[d]-f[d-1]才是答案)

 1 #include<bits/stdc++.h>
2 using namespace std;
3 struct ji{
4 int a[1005];
5 }a,s,ans;
6 int n,d;
7 void jia(){
8 for(int i=1;i<=ans.a[0]+1;i++)
9 if (ans.a[i]==9)ans.a[i]=0;
10 else{
11 ans.a[i]++;
12 ans.a[0]=max(ans.a[0],i);
13 break;
14 }
15 }
16 void jian(){
17 for(int i=1;i<=ans.a[0];i++){
18 if (s.a[i]>ans.a[i]){
19 ans.a[i+1]--;
20 ans.a[i]+=10;
21 }
22 ans.a[i]-=s.a[i];
23 }
24 while ((ans.a[0]>1)&&(!ans.a[ans.a[0]]))ans.a[0]--;
25 }
26 void cheng(){
27 memset(a.a,0,sizeof(a.a));
28 a.a[0]=ans.a[0]+s.a[0]-1;
29 for(int i=1;i<=s.a[0];i++)
30 for(int j=1;j<=ans.a[0];j++)a.a[i+j-1]+=s.a[i]*ans.a[j];
31 ans=a;
32 for(int i=2;i<=ans.a[0];i++){
33 ans.a[i]+=ans.a[i-1]/10;
34 ans.a[i-1]%=10;
35 }
36 while (ans.a[ans.a[0]]>9){
37 ans.a[ans.a[0]+1]=ans.a[ans.a[0]]/10;
38 ans.a[ans.a[0]++]%=10;
39 }
40 }
41 int main(){
42 scanf("%d%d",&n,&d);
43 ans.a[0]=ans.a[1]=1;
44 for(int i=1;i<=d;i++){
45 s=ans;
46 for(int j=1;j<n;j++)cheng();
47 jia();
48 }
49 jian();
50 for(int i=ans.a[0];i;i--)printf("%d",ans.a[i]);
51 }

[bzoj1089]严格n元树的更多相关文章

  1. bzoj1089严格n元树——DP+高精度

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1089 f[d]为深度小于等于d的树的个数: 从根节点出发,有n个子树,乘法原理可以得到 f[ ...

  2. bzoj1089严格n元树

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1089 这是一种套路:记录“深度为 i ”的话,转移需要讨论许多情况:所以可以记录成“深度&l ...

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

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

  4. [BZOJ1089][SCOI2003]严格n元树(递推+高精度)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1089 分析: 第一感觉可以用一个通式求出来,但是考虑一下很麻烦,不好搞的.很容易发现最 ...

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

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

  6. 【bzoj1089】严格n元树

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

  7. BZOJ1089:[SCOI2003]严格n元树(DP,高精度)

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

  8. BZOJ1089 [SCOI2003]严格n元树 【dp + 高精】

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

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

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

随机推荐

  1. 微软发布了Visual Studio 2022 RC版,并将在11月8日发布正式版

    微软今天发布了Visual Studio 2022 最接近正式发布的RC版本,同时宣布在11月8日发布正式版,届时将在线上发布虚拟的发布活动,具体参见:https://devblogs.microso ...

  2. 41 位 Contributor 参与,1574 个 PR,不容错过的版本更新!

    6 月 25 日,在商业公司 SphereEx 正式成立一月之余的今天,我们很高兴的宣布 Apache ShardingSphere 迎来了 5.0.0-beta 版本的正式发布.经过半年多的优化和打 ...

  3. SpringBoot-MVC自动配置原理

    SpringBoot对SpringMVC做了哪些配置,如何扩展,如何定制? 文档地址 :https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/re ...

  4. 用C++实现的数独解题程序 SudokuSolver 2.1 及实例分析

    SudokuSolver 2.1 程序实现 在 2.0 版的基础上,2.1 版在输出信息上做了一些改进,并增加了 runtil <steps> 命令,方便做实例分析. CQuizDeale ...

  5. 力扣 - 剑指 Offer 17. 打印从1到最大的n位数

    题目 剑指 Offer 17. 打印从1到最大的n位数 思路1 如果有n位,那么最大值就是\(10^n-1\),即如果n是2,那么最大就到输出到99 考虑到大数情况,所以使用字符数组 还要把字符数组转 ...

  6. 内网渗透DC-5靶场通关

    个人博客地址:点我 DC系列共9个靶场,本次来试玩一下一个 DC-5,只有一个flag,下载地址. 下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题.靶 ...

  7. paramiko远程控制host执行脚本的用法

    import paramiko ssh = paramiko.SSHClient() print ssh.get_host_keys() ssh.set_missing_host_key_policy ...

  8. javascript-jquery对象的css处理

    一.css基本属性处理 1.css()方法:获取css属性值.$("选择器").css(name);//获取匹配选择器的元素指定css属性值. 2.css()方法:设置css属性值 ...

  9. Django Model字段加密的优雅实现

    早前的一篇文章Django开发密码管理表实例有写我们写了个密码管理工具来实现对密码的管理,当时加密解密的功能在view层实现,一直运行稳定所以也没有过多关注实现是否优雅的问题.最近要多加几个密码表再次 ...

  10. 【技术博客】在Unity3d中实现烟花效果

    在游戏开发中,我们经常需要用到类似烟花的效果.在Unity3d中,实现烟花效果的方法不止一种,我选用了Unity3d中新添加的粒子特效工具--visual effect graph来进行实现. 实现过 ...