CF1010F Tree
真·毒瘤题
这个题面写错了一句话。要求的是每个节点的石子树>=它的两个儿子石子数的和。
首先考虑怎么算石子分配的方案。
如果对这棵树每个节点的石子数都和儿子差分一下的话,可以唯一对应一颗每个点都要一个>=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相关推荐
- 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 ...
- 102. Binary Tree Level Order Traversal
题目 Binary Tree Level Order Traversal 层次遍历二叉树 链接 Given a binary tree, return the level order traversa ...
- Python---哈夫曼树---Huffman Tree
今天要讲的是天才哈夫曼的哈夫曼编码,这是树形数据结构的一个典型应用. !!!敲黑板!!!哈夫曼树的构建以及编码方式将是我们的学习重点. 老方式,代码+解释,手把手教你Python完成哈夫曼编码的全过程 ...
- [Java]LeetCode297. 二叉树的序列化与反序列化 | Serialize and Deserialize Binary Tree
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 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 ...
- Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)
Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...
- datagrid底部显示水平滚动_DevExpress WPF v19.1:Data Grid/Tree List等控件功能增强
行业领先的.NET界面控件DevExpress 日前正式发布v19.1版本,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WPF v19.1中新增的一些控件及部 ...
- java easyui tree例子_EasyUI Tree的简单使用
此前写过zTree插件的demo,没有记录下来,这次记录一下EasyUI的Tree. 实现效果:获取数据库表的数据,以树结构的形式展示出来. 树结构数据分为同步加载和异步加载,同步加载就是初始化加载时 ...
- windows用 tree命令查看目录文件夹结构
windows用 tree命令查看目录文件夹结构 ## 查看帮助 tree --helptree --dirsfirst --filelimit 6 -h -t –dirsfirst 目录优先展示 – ...
最新文章
- SAP WM初阶之2-Step Picking创建的Group查询报表
- python利器下载-Python打包利器:auto-py-to-exe
- 如何用ABP框架快速完成项目(2) - 快的定义!
- 多线程—— Queue(储存进程结果)
- 我的第一次--我与51CTO的故事
- 【图像压缩】基本matlab DCT+量化+huffman JPEG图像压缩【含Matlab源码 1217期】
- js文本框设置必填项_input必填_js 检验必填项的代码
- 计算机磁盘修复工具,CHKDSK磁盘修复工具使用教程
- 如何启动android模拟器,如何从命令行启动Android模拟器?
- 漫步在云台山茶园穿越,感受来自李亮先生的美意
- linux光盘读取不良,程序员偷偷深爱的9个不良编程习惯
- CPP全面总结(涵盖C++11标准)
- Prometheus入门实践
- CTP开发——初始化
- C++实现Python变量
- 衢州职业技术学院分数线平均计算机,衢州职业技术学院录取分数线2021是多少分(附历年录取分数线)...
- HTML+CSS+JavaScript 实现登录注册页面(超炫酷)
- 5种实用方案——找回丢失的excel文件
- 回溯法实例----著名医生的药方
- Vue的demo-踩坑
热门文章
- 【转】OpenCV里IplImage数据结构极易出错的问题,IplImage和单字节char*的相互转换
- DM9000 寄存器的定义
- Caliburn笔记-基本Command(wpf框架)
- *13.图的存储方式
- SyntaxError: Non-UTF-8 code starting with ‘\xe4‘ in file解决办法
- 如何用WORD制作三线表
- linux通过管道的进程通信,linux 线程或进程之间通过管道通信(pipe)
- 服务器虚拟机密度,服务器整合:虚拟机密度大未必好事
- 004_Icon图标
- webstorm 不识别.config文件_webstorm好用的十款插件