摘要:
题意 给定一个序列,表示 \(n\) 个人每个人给 \(a_i\) 投了一票。 每次操作给定序列 \([l, r]\),求 \([l, r]\) 的众数。 若 \([l, r]\) 没有绝对众数则令该区间的众数为 \(p\),并将随后给定的 \(k\) 个整数,\(a_{s_1}, a_{s_2}, 阅读全文
摘要:
题意 给定排列 \(S\),最初 \(S_i = i\)。 每次进行以下操作,进行 \(t\) 次。 选择下标 \(i, j\),使得 \(S_i = S_j\)。 求进行 \(t\) 次后,\(S\) 有至少 \(k\) 种数字的概率。 \(n \le 10, t \le 10 ^ {18}\)。 阅读全文
摘要:
题意 给定一个字符串 \(S\),每次可以删除每种字符的第一个字符或最后一个字符,删除 \(S_i\) 需要付出 \(w_i\) 的代价。 问将 \(S\) 变为 \(T\) 所需的所有代价。 Sol 唉,卡了好久。 考虑设 \(f_{i, j}\) 表示 \(S\) 匹配到 \(i\),\(T\) 阅读全文
摘要:
题意 有 \(q\) 次询问,每次向集合 \(S\) 内添加一个元素或删除一个元素。 每次操作选择 \(x, y \in S, x \le y\),若 \(y \le 2 \times x\) 则称该操作对答案有 \(1\) 贡献。 求使得贡献最大的方案。 Sol 集中注意力。 每次合并最小的两个元 阅读全文
摘要:
f_{i - 1, S} + dis_{i, j} \ f_{i, T} = f_{i, S} + dis_{i, j} \[ 其中,$T$ 为破开 $i$ 和 $j$ 的集合。 显然,基环是需要考虑的,可以将基环上的边看作破开当前基环的贡献。 特判掉全为自环即可。 ## Code ``` cpp 阅读全文
摘要:
题意 给定 \(n\) 个点,求平面最小三角形周长。 Sol 其实挺简单一算法,一直没学。 先随机转个∠,然后按照 \(x\) 排序。 考虑分治。 注意到分治左右两边的答案对当前可用的区间有限制。 将满足限制的点按照 \(y\) 排序。 这里可以归并做到一只 \(log\)。 然后集中注意力,发现对 阅读全文
摘要:
题意 给定一棵树,最初每个节点有一个颜色 \(0 / 1\)。 给定一个结束序列,你需要判断是否可以通过任意次数的下列操作,使树的每个节点的颜色与该序列一一对应。 选择一条边 \(u \to v\),使 \(u\) 和 \(v\) 都覆盖上 \(u\) 的颜色。 Sol 其实是弱智分讨题。 首先考虑 阅读全文
摘要:
题意 有 \(3\) 个人。每个人分别有 \(n1, n2, n3\) 张牌。 每张牌上有一个名字,分别表示三个人。 对于每个回合,进行如下操作: 若当前回合的玩家手上没有牌了,则该玩家获胜。 否则从手牌中取出一张牌,丢弃她,并进入该牌上的名字的玩家的回合。 求第一名玩家获胜的牌的分配方案数。 So 阅读全文
摘要:
题意 给定一个字符串 \(s\)。 设一个字符串 \(t\) 是好的,当且仅当不存在一个 \(\text{Period}\) 能整除 \(|t|\)。 求最小的划分段数使得每段都是好的,及最小的划分段数的方案数。 Sol 考虑两种特殊情况: \(s\) 有长度为 \(1\) 的 \(\text{Pe 阅读全文
摘要:
题意 一个区间,你需要在其中选出一段大于 \(k\) 的区间。 使得前 \(k\) 大的 \(s_i\) 减去区间 \(c_i\) 之差最大。 问,价值最大是多少,以及哪些点可以成为被选择的价值最大的区间的前 \(k\) 大的点。 Sol 摆摆摆,颓颓颓。 注意到有决策单调性,考虑怎么证明。 显然, 阅读全文