07 2018 档案
摘要:题目大意:给你一棵n个点的树,每个点有一个点权x,问你所有路径中点权异或和最大的路径的异或和 数据范围:n≤30000,x≤231−1。 如果是边上有点权的话非常简单,直接一个trie就可以水过去了。 然而这题是点权,非常烦人。我们考虑用点分治去解决。 假设当前需要遍历的树
阅读全文
摘要:题目大意:你有一个n∗m的网格(有边界),你从(1,1)开始随机游走,求走到(n,m)的期望步数。 数据范围:n≤10,m≤1000。 我们令 f[i][j]表示从(1,1)随机游走到(i,j)的期望步数。不难推出: 如果(i,j)与边界不想邻,则有 $f[i][
阅读全文
摘要:概述 多项式开跟是一个非常重要的知识点,许多多项式题目都要用到这一算法。 用快速数论变换,多项式求逆元和倍增法可以在O(nlogn)的时间复杂度下求出一个n次多项式的开根。 前置技能 快速数论变换(NTT),多项式求逆元,二次剩余。 多项式的开根 给定一个多项式A(x),其次数为$d
阅读全文
摘要:我们构造f(x)的生成函数G(x),那么显然[xk]G(x)=Ok2+Sk+U 那么显然,答案即为∑ni=1[xm]Gi(x) 我们构造答案的生成函数F(x)=∑ni=1Gi(x) 根据等比数列求和公式,$F(x)=G(x)\df
阅读全文
摘要:又是一道FFT套路题 思路可以参考bzoj4503,题解 我们对串S和串T中出现的*处全部赋值为0。 反正最终的差异度式子大概就是 C[i]=∑|T|−1j=0S[i+j]T[j](S[i+j]−T[j])2 然后和上一题一样的展开方式,将T串reverse一下做FFT再统计
阅读全文
摘要:FFT套路题(然而我看错题了) 我们考虑化一下式子。 设当前比较的两个部分为S[i....i+|T|−1]和T[0....|T|−1]。 我们对串T中出现问号的位置全部赋值为0。 我们定义一个差异度$C[i]=\sum_{j=0}^{|T|-1}T[j](S[i+j]-T[j])
阅读全文
摘要:哇我太菜啦555555 不妨钦定我们需要访问的点集为S,在S已知的情况下,我们令f(x)表示从x走到点集S中任意一点的期望步数。 若x∈S,则显然f(x)=0,否则f[x]=1d[x]∑f[ch[x]]+1。其中d[x]表示与x相连
阅读全文
摘要:题目大意:给你m个数ai,定义n=Πmi=1ai。将n分解质因数为Πpkii,pi是质数。请输出2max(ki)−1,以及存在多少个ki,满足ki=max(ki)。 数据范围:m≤600,$a_i≤10^{
阅读全文
摘要:这题一看显然是一个裸的斯坦纳树 我们用f[i][j]表示经过的路径中包含了状态i所表示的点,且连接了j号点的最短路径。 显然,f[i][j]=min{f[i^k][j]+f[k][j]}, 其中i&k=k。 转移完毕后,跑一个最短路去更新一遍。 那么显然这题的
阅读全文