摘要:
题意 给定一个序列。 每次询问求两个区间排序后是否只有一个或者没有位置不同。 Sol 不难想到主席树维护值域。 考虑如何判断。 注意到当前答案正确,当且仅当值域上两点不同且相邻。 维护每个点的哈希值判断即可。 Code #include <iostream> #include <algorithm> 阅读全文
摘要:
题意 给定一个矩阵,你需要支持: 循环左移 循环右移 循环下移 循环上移 按行置换求逆 按列置换求逆 Sol 前 \(4\) 个操作是 \(trivial\) 的。 如何处理后两个操作? 考虑设一个三元组:\((x, y, A_{xy})\)。 每次操作,对于每一个元素都能确定操作后另外某个元素。 阅读全文
摘要:
题意 给定一个长度为 \(n\) 的序列。 每个数字的范围为 \([1, m]\)。 求一共 \(m ^ n\) 种数列,每个数列种本质不同的子序列个数之和。 Sol 考虑用一种比较好的方式表示答案。 枚举本质不同的子序列长度,枚举中间跳过的数的个数。 \[m ^ n + \sum_{i = 1} 阅读全文
摘要:
题意 给定一个数列。每个数字有一个颜色。 单点修改数字,区间修改颜色。 求: 包含所有颜色的数字和最小的区间 没有重复颜色的数字和最大的区间 数据随机。 Sol 数据随机,直接上珂朵莉树。 跑双指针的时候套个线段树求最大最小区间和就行。 Code #include <iostream> #inclu 阅读全文