疯狂的重心

话说做过幻想乡战略游戏的人应该很容易切掉这道题目吧

我们考虑一棵树如果添加了一个叶子,那么其重心最多向叶子方向移动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 疯狂的重心 疯狂的机器人 题解报告的更多相关文章

  1. cojs 疯狂的粉刷匠 疯狂的斐波那契 题解报告

    疯狂的斐波那契 学习了一些奇怪的东西之后出的题目 最外层要模p是显然的,然而内层并不能模p 那么模什么呢,显然是模斐波那契的循环节 那么我们可以一层层的求出每层的斐波那契循环节 之后在从内向外用矩阵乘 ...

  2. cojs 强连通图计数1-2 题解报告

    OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...

  3. cojs 二分图计数问题1-3 题解报告

    OwO 良心的FFT练手题,包含了所有的多项式基本运算呢 其中一部分解法参考了myy的uoj的blog 二分图计数 1: 实际是求所有图的二分图染色方案和 我们不妨枚举这个图中有多少个黑点 在n个点中 ...

  4. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  5. 题解报告:hdu 1398 Square Coins(母函数或dp)

    Problem Description People in Silverland use square coins. Not only they have square shapes but also ...

  6. 题解报告:hdu 2069 Coin Change(暴力orDP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Problem Description Suppose there are 5 types of ...

  7. 题解报告: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 ...

  8. CF Educational Round 78 (Div2)题解报告A~E

    CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students​ 依题意模拟即可 #include<bits/stdc++.h> us ...

  9. CF1169(div2)题解报告

    CF1169(div2)题解报告 A 不管 B 首先可以证明,如果存在解 其中必定有一个数的出现次数大于等于\(\frac{m}{2}\) 暴力枚举所有出现次数大于等于$\frac{m}{2} $的数 ...

随机推荐

  1. C#使用SocketAsyncEventArgs操作套接字的简单异步通讯

    SocketAsyncEventArgs是一个套接字操作的类,主要作用是实现socket消息的异步接收和发送,跟Socket的BeginSend和 BeginReceive方法异步处理没有多大区别,它 ...

  2. FastDFS4 + Ubuntu12安装及部署

    1. 安装libevent 如果需要使用http进行下载,需要安装这个组件. 2. 安装fastdfs 3. 配置fastdfs 4. 安装nginx 问题4.1:安装nginx启动后访问原先资源UR ...

  3. ios特性访问器方法(setter和getter)

    Employee.h @interface Employee:NSObject { int _employeeNumber; NSString *_name; Employee*_supervisit ...

  4. vs2008中使用Newtonsoft.Json

    异常:找不到方法:“Boolean System.Runtime.Serialization.DataContractAttribute.get_IsReference()” 在使用Newtonsof ...

  5. HDU 1465 第六周L题

    Description 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了!  做好“一件”事情尚且不易,若想永远成功而总从不失败,那更是难上加难了,就像花钱总是比挣钱容易的道理一样.  ...

  6. mysqldump 参数说明

    mysqldump参数说明 --all-databases , -A 导出全部数据库. mysqldump -uroot -p --all-databases --all-tablespaces , ...

  7. linux设备驱动模型

    尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要. Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统 ...

  8. active-mq的使用

    1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 2.运行ActiveMQ 解压缩apache-activemq-5.5.1-bin.zip,然后双击a ...

  9. 【BZOJ 1005】[HNOI2008]明明的烦恼

    Description 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为 ...

  10. iOS10.0 TabBar Bug(底部同时展示原生和自定义tabBar)-b

    在没有发布iOS10的时候,在任何模拟器测试下效果正常,更新iOS10后,测试出现BUG先放一张bug之前的效果图: 修改前出现的bug 在检查了所有问题之后,最后把问题定位在了原生系统tabBar底 ...