摘要:
题意 给定序列,每次交换两个数。询问逆序对个数。 Sol 暴力草过去了。 分块的做法等会来补。 Code #include <iostream> #include <algorithm> #include <cstdio> #include <array> #define int long long 阅读全文
摘要:
题意 有 \(n\) 个商店。每个商店有 \(m\) 个物品。每个物品的价值为 \(b_{i, j}\)。每种物品只能被购买一次。 你可以选择一个起点,在任意商店结束购买。获得的价值为 \(m\) 个物品之和减去路程。 求最大可获得的价值。 \(n \le 5e3, m \le 200\) Sol 阅读全文
摘要:
题意 给定一个长度为 \(n\) 的括号序列,求该括号序列满足下列条件的子序列个数。 长度为偶数 设长度为 \(2m\),则 \(s_{1 \ldots m} =\) (,\(s_{m + 1 \ldots 2m} =\) )。 Sol 设 \(i\) 为最后一个 (,\(a\) 表示 \(\sum 阅读全文
摘要:
题意 给定序列 \(s\),每次询问 \(l, r\) 的区间众数的出现次数。 强制在线。空间:\(62.5MB\)。 Sol 蒲公英卡常卡空间版。 考虑优化那个 \(n \times m\) 的数组。 我们要求 \(l, r\) 之中某个数的个数。 乍一看不好弄,仔细想想就会发现,如果我们知道当前 阅读全文
摘要:
题意 给定序列 \(s\),求 \(l, r\) 的区间众数,强制在线。 Sol 考虑分块。 不难想到可以预处理出块 \(l\) 到块 \(r\) 的区间众数。 然后查询时将散块出现的数在整块中出现的个数加入贡献。 这个玩意可以用前缀和简单预处理。 然后就做完了。 Code #include <io 阅读全文