真·毒瘤题

这个题面写错了一句话。要求的是每个节点的石子树>=它的两个儿子石子数的和。
首先考虑怎么算石子分配的方案。
如果对这棵树每个节点的石子数都和儿子差分一下的话,可以唯一对应一颗每个点都要一个>=0的权值的树。
且这棵树的权值和为x。
那么就可以插板法算一下了,因此它与树的结构无关,只与大小有关。
因此我们只需要对第一种操作算一下联通块大小为k的方案数即可。
直接dp是n^2的,过不了。
首先树链剖分。
然后重链头的dp值可以写成一个多项式。
设a[n]为链上左儿子的dp值的生成函数*x。
ans[n]=1+a[n]×ans[n-1]=1+a[n]+a[n]a[n-1]+a[n]a[n-1]a[n-2].....

考虑怎么计算这个式子,大力分治乘法即可。

考虑一下这样做的复杂度。
做一次这样分治乘法的复杂度是size^log^2的,size为重链头的子树大小。
又因为使用了树链剖分,每个点到根节点的路径最多只会有logn段重链,每个点只会向上贡献logn次。
因此总复杂度O(nlog^3n)

转载于:https://www.cnblogs.com/Creed-qwq/p/10452856.html

CF1010F Tree相关推荐

  1. 107. Binary Tree Level Order Traversal II

    题目 Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from l ...

  2. 102. Binary Tree Level Order Traversal

    题目 Binary Tree Level Order Traversal 层次遍历二叉树 链接 Given a binary tree, return the level order traversa ...

  3. Python---哈夫曼树---Huffman Tree

    今天要讲的是天才哈夫曼的哈夫曼编码,这是树形数据结构的一个典型应用. !!!敲黑板!!!哈夫曼树的构建以及编码方式将是我们的学习重点. 老方式,代码+解释,手把手教你Python完成哈夫曼编码的全过程 ...

  4. [Java]LeetCode297. 二叉树的序列化与反序列化 | Serialize and Deserialize Binary Tree

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  5. Code Forces Bear and Forgotten Tree 3 639B

    B. Bear and Forgotten Tree 3 time limit per test2 seconds memory limit per test256 megabytes inputst ...

  6. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

  7. datagrid底部显示水平滚动_DevExpress WPF v19.1:Data Grid/Tree List等控件功能增强

    行业领先的.NET界面控件DevExpress 日前正式发布v19.1版本,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WPF v19.1中新增的一些控件及部 ...

  8. java easyui tree例子_EasyUI Tree的简单使用

    此前写过zTree插件的demo,没有记录下来,这次记录一下EasyUI的Tree. 实现效果:获取数据库表的数据,以树结构的形式展示出来. 树结构数据分为同步加载和异步加载,同步加载就是初始化加载时 ...

  9. windows用 tree命令查看目录文件夹结构

    windows用 tree命令查看目录文件夹结构 ## 查看帮助 tree --helptree --dirsfirst --filelimit 6 -h -t –dirsfirst 目录优先展示 – ...

最新文章

  1. SAP WM初阶之2-Step Picking创建的Group查询报表
  2. python利器下载-Python打包利器:auto-py-to-exe
  3. 如何用ABP框架快速完成项目(2) - 快的定义!
  4. 多线程—— Queue(储存进程结果)
  5. 我的第一次--我与51CTO的故事
  6. 【图像压缩】基本matlab DCT+量化+huffman JPEG图像压缩【含Matlab源码 1217期】
  7. js文本框设置必填项_input必填_js 检验必填项的代码
  8. 计算机磁盘修复工具,CHKDSK磁盘修复工具使用教程
  9. 如何启动android模拟器,如何从命令行启动Android模拟器?
  10. 漫步在云台山茶园穿越,感受来自李亮先生的美意
  11. linux光盘读取不良,程序员偷偷深爱的9个不良编程习惯
  12. CPP全面总结(涵盖C++11标准)
  13. Prometheus入门实践
  14. CTP开发——初始化
  15. C++实现Python变量
  16. 衢州职业技术学院分数线平均计算机,衢州职业技术学院录取分数线2021是多少分(附历年录取分数线)...
  17. HTML+CSS+JavaScript 实现登录注册页面(超炫酷)
  18. 5种实用方案——找回丢失的excel文件
  19. 回溯法实例----著名医生的药方
  20. Vue的demo-踩坑

热门文章

  1. 【转】OpenCV里IplImage数据结构极易出错的问题,IplImage和单字节char*的相互转换
  2. DM9000 寄存器的定义
  3. Caliburn笔记-基本Command(wpf框架)
  4. *13.图的存储方式
  5. SyntaxError: Non-UTF-8 code starting with ‘\xe4‘ in file解决办法
  6. 如何用WORD制作三线表
  7. linux通过管道的进程通信,linux 线程或进程之间通过管道通信(pipe)
  8. 服务器虚拟机密度,服务器整合:虚拟机密度大未必好事
  9. 004_Icon图标
  10. webstorm 不识别.config文件_webstorm好用的十款插件