03 2020 档案
摘要:题目不难,但是思路巧妙。 我们求出差分数组后,就变成了这三种操作 1.一个数加一 2.一个数减一 3.一个数加一的同时一个数减一 我们要让 ~ 变成 ,设所有整数的和为 ,负数的和的绝对值为 ,则最少操作数为 我们 $min(s
阅读全文
摘要:对于一段区间查询最大异或值,我们可以用 可持久化0/1Trie树 来维护。 对于一个点的子树,它们的 序是一段连续的区间。 对于一条路经,我们拆成两个端点分别到达 的两条路径,它们的 是连续的。 我们分别建出来 1.以 序为外层的树 2.以
阅读全文
摘要:首先说明一点:平方的期望 不等于 期望的平方,三次方也一样 设 为只考虑前 个时的答案 若当前格子为 ,不会造成额外贡献。 若当前格子为 ,概率为 ,造成的贡献为 $E(len_i^3)=E((len_{i 1}+1)^3)=E(len_{i 1}
阅读全文
摘要:题目大意 给出一个图,每条边都有一定概率出现,问最后出现一棵树的概率。 题解 我们平时矩阵树定理所求的就是 其中是树,是边。 这道题我们要求的就是 $\displaystyle \sum_{T}
阅读全文
摘要:无源汇有上下界可行流 int main() { cin >> n >> m; S = 0; T = n + 1; for (int i = 1; i <= m; ++i) { x = read(); y = read(); L[i] = read(); r = read(); ADD(x, y, r
阅读全文
摘要:```cpp #pragma GCC diagnostic error "-std=c++11" #pragma GCC target("avx") #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma G
阅读全文
摘要:一个长度为 字符集大小为 的字符串,它的回文串的个数是 发现根据题目里给的操作二, 可以生成 最小循环节的长度 个满足条件的字符串, 用这个长度的字符串拼出来长为 的字符串必须是回文串 设这个长度为 ,满足
阅读全文
摘要:记忆化搜索 既然需要出现的次数 长度的一半,我们不妨就枚举这个数,按照记搜的套路,我们记录一下这个数的出现次数以及是否没了前导零即可。 记录次数的时候如果往后添的数是枚举的数,则 ,否则 ,易证符合条件当且仅当 时
阅读全文
摘要:结论题 其实没那么难,只不过真的被附加说明给恶心到了。 首先我们将相乘的数连边,能看出来会形成几个环,显然环与环之间互不影响。 然后易证一共有 个环,每个环里就有 个数,显然我们给每个环分配的数连续更优。 关于一个环里怎么分配:我们 看
阅读全文
摘要:矩阵树定理 想必大家应该都会高斯消元吧,不会的话可以看 "模板" ,我们现在着重讲一下建矩阵的方法。 前置知识:我们用到的矩阵,也就是基尔霍夫矩阵的任意一个代数余子式是所有生成树的边权积的和。 当所有边边权为1时求的就是生成树的个数了。 我们以下设 为 到 有一条
阅读全文