[BZOJ2688]Green Hackenbush

博客介绍了Green Hackenbush问题的解决方案,通过动态规划计算二叉树转化为单链后的sg值,并利用异或背包合并不同树的sg值,最后求得所有sg值异或为0的概率。文章提供了题解和源码。
摘要由CSDN通过智能技术生成

Green Hackenbush

题解

首先阐释一下,它这里定义两棵二叉树是不同的是指像卡塔兰数一样构造得到的二叉树。
对于一根的 H a c k e n b u s h Hackenbush Hackenbush树,它的 s g sg sg值是相当于通过异或的方式,将原树转化成一根单链,单链的长度。
显然,由于原树是二叉树,我们可以枚举它两子树的构成。
我们定义 d p i , j dp_{i,j} dpi,j表示一个大小为 i i i的二叉树,它转化后得到的 s g sg sg值为 j j j的方案数。
显然,有 f x + y + 1 , ( k 1 + 1 ) ⊗ ( k 2 + 1 ) + = f x , k 1 f y , k 2 f_{x+y+1,(k_1+1)\otimes(k_2+1)}+=f_{x,k1}f_{y,k_2} fx+y+1,(k1+1)(k2+1)+=fx,k1f

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值