「考试总结」2021-06-17 模拟 1

Posted 言似缥缈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「考试总结」2021-06-17 模拟 1相关的知识,希望对你有一定的参考价值。

圆弧

枚举颜色 \\(1\\) 选择的一对点来断环成链

考虑设计一个求最大值和方案的 \\(dp:f[i]\\) 表示到第 \\(i\\) 个点的最大能配对多少个颜色,\\(dp[i]\\) 表示在这个配对数下有多少个方案

记录每个点颜色上一次出现的次数,并把两个 \\(1\\) 颜色的中间之类的位置的 \\(dp\\) 都置成 \\(0\\),每次从 \\(pre[i]\\) 转移即可

整除

先把 \\(x=1\\) 的判掉,注意这里应该是系数和是 \\(m\\) 的倍数

使用等比数列求和公式把原多项式乘上 \\(x-1\\),然后使用多项式取模把原多项式次数降到 \\(m\\) 以下,设此时 \\(R(x)=\\sum a_i x^i\\)

关于多项式取模的部分,对于每个 \\(a_ix^i\\),给 \\(x^{i\\%m}\\) 贡献 \\(a_i\\) 的系数

此时如果余多项式为 \\(0\\) 则有无穷解,反之解不会大于 \\(\\max\\{a_i\\}\\)

那么题目转化为带入一个 \\(x\\) 判断多项式模 \\(x^m-1\\) 是不是满足系数均为 \\(0,-x+1,x-1\\)

后面两个系数的取值可以使用等比数列求和得到一个倍数的形式

使用 \\(set\\) 找到当前所有大于等于 \\(x\\) 的系数,按照高精度数计算的思想进行 "进位" 即可

考虑到 \\(\\sum a_i\\)\\(O(n)\\),不断减得到一个调和级数的复杂度,套上 \\(set\\),那么总复杂度 \\(\\Theta(n\\log^2n)\\)

词典

考虑到这个模式很像一个 \\(trie\\) 树删儿子的模型,那么设计一个 \\(f_i,g_i\\) 表示左/右子树选 \\(i\\) 个的最小代价,转移想想就有了

考试的时候看着 \\(O(n)\\) 的部分分就打了个表发现转移点最多差 \\(1\\),卡了卡空间得到了 \\(50\\)

大力打表发现 \\(f(i)-f(i-1)\\) 单调不增而且都非常小,那么盲猜可以预处理每个 \\(x\\)\\(f(n)-f(n-1)=x\\) 最大的 \\(n\\),查询时二分

这个结论的具体证明并不太会,貌似 \\(f(n)\\) 是凸函数是可以证明的且 \\(f(n)-f(n-1)\\)\\(\\log^2n\\) 级别的数

那么可以倍增套二分得到 \\(x\\) 的界点,注意实现的时候需要 \\(1.5\\) 倍倍增,三分 \\(f(i)\\) 的转移点的时候把下界设成 \\(\\frac i3\\)

做法貌似神乎其神,其实是一点没懂……学到了 \\(1.5\\) 倍倍增来卡常?

以上是关于「考试总结」2021-06-17 模拟 1的主要内容,如果未能解决你的问题,请参考以下文章

考试总结 NOIP模拟5 (20210608)

考试总结 模拟60

NOIP 模拟 7 考试总结

模拟3 4考试总结

考试总结 模拟89

考试总结 模拟62