博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj3625:[Codeforces Round #250]小朋友和二叉树
阅读量:4691 次
发布时间:2019-06-09

本文共 1689 字,大约阅读时间需要 5 分钟。

生成函数,多项式

首先考虑这个题最显然的\(dp\)方程,设\(f(n)\)为根节点权值为\(n\)的二叉树个数,\(g(n)\)为权值为\(n\)的点是否存在

\(n=0\)\(f(n)=1\)

\(n\neq 0\)

\[ f(n)=\sum_{i=1}^{n}g(n)\sum_{j=1}^{n-i}f(j)f(n-j-i) \]
然后设生成函数
\[ F(x)=\sum_{i=0}^{+\infty}f(n)x^i\\ G(x)=\sum_{i=0}^{+\infty}g(n)x^i\\ \]
可以得到
\[ F(x)=F^2(x)G(x)+1 \]
最后得到
\[ F(x)=\frac{2}{1+\sqrt{1-4G(x)}} \]
多项式开根+多项式求逆就好了

bzoj太卡了,没卡过,但是CF上AC了

代码:

#include
#include
#include
#include
using namespace std;void read(int &x) { char ch; bool ok; for(ok=0,ch=getchar(); !isdigit(ch); ch=getchar()) if(ch=='-') ok=1; for(x=0; isdigit(ch); x=x*10+ch-'0',ch=getchar()); if(ok) x=-x;}#define rg registerconst int maxn=8e5+10,mod=998244353,g=3,gi=332748118;char ch[maxn];int n,m,tot,k,now=1,r[maxn],t[maxn],a[maxn],b[maxn],w[maxn],h[maxn],d[maxn],c[maxn],f[maxn],s[maxn];int mul(int x,int y){return 1ll*x*y-1ll*x*y/mod*mod;}int add(int x,int y){return x+y>=mod?x+y-mod:x+y;}int del(int x,int y){return x-y<0?x-y+mod:x-y;}int mi(int a,int b){ int ans=1; while(b){ if(b&1)ans=mul(ans,a); b>>=1,a=mul(a,a); } return ans;}void ntt(int *a,int n,int f){ for(rg int i=0;i
i)swap(a[i],a[r[i]]); for(rg int i=1;i
<<=1){ int wn=mi(f?g:gi,(mod-1)/(i<<1)); for(rg int j=0;j
<<1){ int w=1; for(rg int k=0;k
>1);int m,len=0;for(m=1;m<=n<<1;m<<=1)len++; for(rg int i=0;i
>1]>>1)|((i&1)<<(len-1)); for(rg int i=0;i
>1]>>1)|((i&1)<<(len-1)); ntt(h,m,1),ntt(w,m,1); for(rg int i=0;i
>1),get_ln(b,s,n); int m,len=0;for(m=1;m<=n<<1;m<<=1)len++; for(rg int i=0;i
>1]>>1)|((i&1)<<(len-1)); for(rg int i=0;i

转载于:https://www.cnblogs.com/lcxer/p/10858730.html

你可能感兴趣的文章
JMS
查看>>
gulpfile 压缩模板
查看>>
【34.14%】【BZOJ 3110】 [Zjoi2013]K大数查询
查看>>
【 henuacm2016级暑期训练-动态规划专题 A 】Cards
查看>>
第五篇:白话tornado源码之褪去模板的外衣
查看>>
设备常用框架framework
查看>>
bootstrap模态框和select2合用时input无法获取焦点(转)
查看>>
21世纪经济网APP
查看>>
解决NetworkOnMainThreadException
查看>>
1039 到底买不买
查看>>
农银电商项目学习笔记(一)
查看>>
MockObject
查看>>
Chukwa
查看>>
(转)Maven仓库——私服介绍
查看>>
设计模式之工厂模式
查看>>
仿复制粘贴功能,长按弹出tips的实现
查看>>
Kubernetes-Host网络模式应用
查看>>
第三次作业
查看>>
使用HTML5构建iOS原生APP(2)
查看>>
购物车的简单添加与计算
查看>>