cojs 疯狂的重心 疯狂的机器人 题解报告
疯狂的重心
话说做过幻想乡战略游戏的人应该很容易切掉这道题目吧
我们考虑一棵树如果添加了一个叶子,那么其重心最多向叶子方向移动1的距离
而是否移动我们只需要记录子树中有多少个点就可以判断啦
也就是说这个叶子对于时间复杂度的贡献是1
那么我们考虑每次在x-y上添加一条边,等于将x所在的树和y所在的树合并
这一步我们可以采用启发式合并,每次把小的向大的里插
这样暴力合并的时间复杂度是O(nlogn)
也就等价于我们最多插入单个节点O(nlogn)
那么对于重心的计算显然也是O(nlogn)的
那么现在的瓶颈就是如何动态的维护子树中有多少个节点
对于这一步我们可以采用LCT维护,每次暴力合并之后链修改即可
在合并之后再暴力移动重心就可以辣,细节比较多也比较烦
不过主体都是暴力QAQ
疯狂的机器人
做了做BC上周的题目,有个裸的默慈金数
可以直接O(n)递推得到,做完之后一直想着能不能用FFT搞一搞
然后就把题目变了个形,但是并不知道有没有大神有O(n)递推的神做法
首先我们考虑操作中哪些操作走,设走的操作有i个
再考虑走的操作中哪些是向上走,设向上走的操作有j个
我们很容易发现当只能向右和向左走时,这个题实际上是合法进出栈序列,也就是卡特兰数
只能向上和向下走的时候也同理
很容易得到ans=sigma(C(n,i) *sigma( C(i,j) * f(j) * f(i-j)))
其中f(i)我们定义为当i为奇数时,f(i)=0
当i为偶数时,f(i)=catalan(i/2)
令g(i)=sigma(C(i,j) *f(j) *f(i-j))
不难发现这是个卷积形式,直接NTT即可
之后ans=sigma(C(n,i) *g(i) )
我们这一步直接枚举i计算其实就可以了
不过实际上这还是个卷积形式,依然可以NTT
cojs 疯狂的重心 疯狂的机器人 题解报告的更多相关文章
- cojs 疯狂的粉刷匠 疯狂的斐波那契 题解报告
疯狂的斐波那契 学习了一些奇怪的东西之后出的题目 最外层要模p是显然的,然而内层并不能模p 那么模什么呢,显然是模斐波那契的循环节 那么我们可以一层层的求出每层的斐波那契循环节 之后在从内向外用矩阵乘 ...
- cojs 强连通图计数1-2 题解报告
OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...
- cojs 二分图计数问题1-3 题解报告
OwO 良心的FFT练手题,包含了所有的多项式基本运算呢 其中一部分解法参考了myy的uoj的blog 二分图计数 1: 实际是求所有图的二分图染色方案和 我们不妨枚举这个图中有多少个黑点 在n个点中 ...
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...
- 题解报告:hdu 1398 Square Coins(母函数或dp)
Problem Description People in Silverland use square coins. Not only they have square shapes but also ...
- 题解报告:hdu 2069 Coin Change(暴力orDP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Problem Description Suppose there are 5 types of ...
- 题解报告:hdu 1028 Ignatius and the Princess III(母函数or计数DP)
Problem Description "Well, it seems the first problem is too easy. I will let you know how fool ...
- CF Educational Round 78 (Div2)题解报告A~E
CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students 依题意模拟即可 #include<bits/stdc++.h> us ...
- CF1169(div2)题解报告
CF1169(div2)题解报告 A 不管 B 首先可以证明,如果存在解 其中必定有一个数的出现次数大于等于\(\frac{m}{2}\) 暴力枚举所有出现次数大于等于$\frac{m}{2} $的数 ...
随机推荐
- float闭合(清除浮动)和CSS HACK
一.float 闭合(清除浮动) 将以下代码加入Global CSS 中,给需要闭合的div加上 class="clearfix" 即可,屡试不爽. <style>.c ...
- PHP性能优化-编译级别的缓存
最近安装了 php5.6,发现有了 opcache.so扩展文件,于是,搜索了一下,发现 zend opcache已经融入到 ph5.5以上的版本了,即兴奋,不用再去找xcache,apc,eAcce ...
- i18next-页面层语言国际化js框架介绍
因为工作需要,最近研究了下网站语言国际化的问题,根据当前项目架构,寻求一种较好的解决方案.首先总结下项目中语言切换实现方式大概有以下几种: 1,一种语言一套页面,如:index_CN.html,ind ...
- 左右滑动删除ListView条目Item--第三方开源--SwipeToDismiss
Android的SwipeToDismiss是github上一个第三方开源框架(github上的项目链接地址:https://github.com/romannurik/Android-SwipeTo ...
- Delphi XE5教程11:Tokens
内容源自Delphi XE5 UPDATE 2官方帮助<Delphi Reference>,本人水平有限,欢迎各位高人修正相关错误!也欢迎各位加入到Delphi学习资料汉化中来,有兴趣者可 ...
- Game Tutorials
SDL: http://www.sdltutorials.com/tutorials http://lazyfoo.net/ http://panda3d.noie.name/ http ...
- wpf MVVM ViewModel 关闭View显示
上次说到了不同wpf窗体之间的交互,这个在MVVM模式之中用起来会方便很多 下面我来说下在ViewModel中关闭View的方法,其实也很简单的,注释照样不写,一看就懂的 public partial ...
- hdu 5769 Substring 后缀数组 + KMP
http://acm.hdu.edu.cn/showproblem.php?pid=5769 题意:在S串中找出X串出现的不同子串的数目? 其中1 <= |S| < $10^5$ 官方题解 ...
- Ajax 完整教程
第 1 页 Ajax 简介 Ajax 由 HTML.JavaScript™ 技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.本文的作者是 ...
- WPF中使用ValueConverter来实现“范围条件触发器”
在WPF中,我们知道界面层可以通过Trigger触发器实现“条件”——“赋值”的功能 属性触发器Property Trigger:当Dependency Property的值发生改变时触发.数据触发器 ...