最近在尝试把还没搬运的学习笔记搬运过来。
后缀数组是后缀树的优秀替代算法,与后缀自动机在字符串题中出现频率相似。其可以在$O(n\log n)$的时间内处理一类字符串后缀问题,且算法复杂度与字符集无关。
在本文中,使用$\left|s\right|$表示字符串$s$的长度。
小Yuuka遇到了一个题目:有一个序列$a_1,a_2,\ldots,a_n$,$q$次操作,每次把一个区间内的数改成区间内的最大值,问最后每个数是多少。小Yuuka很快地就使用了线段树解决了这个问题。
于是充满智慧的小Yuuka想,如果操作是随机的,即在这$q$次操作中每次等概率随机地选择一个区间$[l,r]$$(1\le l\le r\le n)$,然后将这个区间内的数改成区间内最大值(注意这样的区间共有$(n(n+1))/2$个),最后每个数的期望大小是多少呢?
小Yuuka非常热爱随机,所以她给出的输入序列也是随机的(随机方式见数据规模和约定)。对于每个数,输出它的期望乘$((n(n+1))/2)^q$再对$10^9+7$取模的值。
特征方程与不动点是用于找出线性递推式的通项公式的一种很方便的方法。
丢个链接就跑。
一个月前就看到了,上传备忘一下。
一个简单的网络系统可以被描述成一棵无根树。每个节点为一个服务器。连接服务器与服务器的数据线则看做一条树边。两个服务器进行数据交互时,数据会经过连接这两个服务器的路径上的所有服务器(包括这两个服务器自身)。每个数据交互请求都有一个非负的重要度,越重要的请求显然需要得到越高的优先处理权。此外,如果在某一个时刻存在一条非常重要(可以看作重要度无穷大)、且数据量巨大的交互请求,则所有被该交互经过的服务器都会优先处理这条交互并阻塞,从而导致其他通过这些服务器的交互出现延迟。
现在,你作为一个网络系统的管理员,要监控整个系统的运行状态。系统的运行也很简单,在每一个时刻,只有可能出现下列二种事件中的一种:
- 在某两个服务器之间出现一条新的数据交互请求;
- 某个数据交互请求结束。
我们假设这些事件中的交互请求的数据量都足够小。你的任务是在每一个时刻的事件结束后,求出:如果突然出现一条非常重要、且数据量巨大的交互请求,那么因其造成延迟的数据交互请求的重要度之和最大可能是多少?
快速沃尔什变换是用于解决位运算卷积的一种变换。
若无特殊说明,沃尔什变换一般特指异或卷积,而莫比乌斯变换可以指任意位运算卷积,在下文中为了方便统称为沃尔什变换。
又一个神人构造出的算法。