感觉这种东西每次重推一遍怪麻烦的,就写在这里了。

说白了就是根据分治区间左端点是否为\(0\)分类讨论一下,一般是如果不是\(0\)就要乘\(2\),不过还是需要具体问题具体分析一下才好(就比如下面的例子)。

以下面这个东西为例给出代码:

\[f[0]=0,g[0]=0,f[1]=0,g[1]=1
\]

\[f[n]=\sum_{i=0}^{n}\binom{n-2}{i-1}(f[i]f[n-i]+g[i]f[n-i]+g[i]g[n-i])
\]

\[g[n]=\sum_{i=0}^{n}\binom{n-2}{i-1}f[i]g[n-i]
\]

void solve(int l,int r){
if(l==r){
if(l==0)f[l]=g[l]=0;
else if(l==1)f[l]=0,g[l]=1;
else f[l]=1ll*f[l]*fac[l-2]%MOD,g[l]=1ll*g[l]*fac[l-2]%MOD;
return;
}
int mid=((l+r)>>1);solve(l,mid);
m=(mid-l)+(r-l);prepare();
rin(i,0,mid-l)A[i]=1ll*f[l+i]*(l+i==0?0:invf[l+i-1])%MOD,B[i]=1ll*g[l+i]*(l+i==0?0:invf[l+i-1])%MOD;
rin(i,0,r-l)C[i]=1ll*f[i]*(i==0?0:invf[i-1])%MOD,D[i]=1ll*g[i]*(i==0?0:invf[i-1])%MOD;
ntt(A,1);ntt(B,1);ntt(C,1);ntt(D,1);
rin(i,0,n-1){
int temp=A[i];
A[i]=((l==0?1ll:2ll)*A[i]*C[i]+1ll*B[i]*C[i]+(l==0?0ll:1ll)*A[i]*D[i]+(l==0?1ll:2ll)*B[i]*D[i])%MOD;
B[i]=(1ll*B[i]*C[i]+(l==0?0ll:1ll)*temp*D[i])%MOD;
}
ntt(A,-1);ntt(B,-1);
rin(i,mid+1,r)f[i]=(f[i]+A[i-l])%MOD,g[i]=(g[i]+B[i-l])%MOD;
memset(A,0,n<<2);memset(B,0,n<<2);memset(C,0,n<<2);memset(D,0,n<<2);
solve(mid+1,r);
}

最新文章

  1. http://www.cnblogs.com/kissdodog/p/4159176.html
  2. JSON帮助类
  3. maven project中,在main方法上右键Run as Java Application时,提示错误:找不到或无法加载主类XXX.XXXX.XXX
  4. STM32学习笔记——USART串口
  5. JS常用方法函数整理
  6. 理解和使用 JavaScript 中的回调函数
  7. Mysql新建表,插入中文时报错“Incorrect string value: &#39;\xE4\xBD\xA0\xE5\xA5\xBD&#39; for column”问题
  8. Excel插件类库的设计思路
  9. Java学习笔记--Swing2D图形
  10. bzoj 2049 Cave 洞穴勘测(LCT)
  11. Java 9 揭秘(18. Streams API 更新)
  12. 2013 ACM/ICPC Asia Regional Hangzhou Online hdu4739 Zhuge Liang&#39;s Mines
  13. BZOJ:4873: [Shoi2017]寿司餐厅
  14. 如何为自己的pip包打造可以执行的系统命令
  15. Python的内置方法——补充
  16. Netty ByteBuf 和 String 转换
  17. Golang 调用 Python 代码
  18. JaveWeb 公司项目(7)----- 通过JS动态生成DIV
  19. Java分布式锁的三种实现方案(redis)
  20. 《Linux内核分析》第二周学习报告

热门文章

  1. jQuery 实现图片放大两种方式
  2. idea 新建maven项目时,避免每次都需要指定自己的maven目录
  3. Codeforces 1190D. Tokitsukaze and Strange Rectangle
  4. Codeforces 1221F. Choose a Square
  5. 安装kubuctl
  6. private修饰的方法可以通过反射访问,那么private的意义是什么?
  7. docker 环境安装
  8. 常用的排序算法介绍和在JAVA的实现(一)
  9. TP5 中的redis 队列
  10. ES数据架构与关系数据库Mysql