#5000. Problem 2. Election Queries
0
Problem 2. Election Queries
Problem 2. Election Queries
USACO 2025 US Open Contest, Gold
注意:本题的时间限制为 3 秒,通常限制的 1.5 倍。
Farmer John 有 ()头奶牛,编号为 到 。一场选举正在 FJ 的农场上举行以确定两头新的头牛。初始时,已知奶牛 将投票给奶牛 ()。
为了确定两头头牛,FJ 将按以下过程进行选举:
- 选择他的奶牛们的任意子集 ,包含至少一头奶牛但并非包含所有奶牛。FJ 可以选择奶牛 作为第一头头牛,如果她的票数是在 中的所有奶牛的投票中出现次数最多的。
- FJ 可以选择奶牛 作为第二头头牛,如果她的票数是不在 中的所有奶牛的投票中出现次数最多的。
- 对于一个固定的子集 ,FJ 记头牛之间的多样性为 。由于 FJ 不喜欢领导者具有相近的编号,他希望选择 以最大化多样性。注意,如果 FJ 无法选出两头不同的头牛,则多样性为 。
然而,一些奶牛不断改变主意,FJ 可能需要重新举行选举多次!因此,他向你提出 ()个查询。在每一个查询中,一头奶牛改变了她们的投票。在每一个查询过后,他向你询问新的头牛之间最大可能的
多样性
。
输入格式(从终端 / 标准输入读入):
输入的第一行包含 和 。
以下一行包含 。
以下 行每行包含两个整数 和 ,表示更新 ()。
输出格式(输出至终端 / 标准输出):
输出 行,其中第 行包含前 个查询过后最大可能的多样性。
输入样例:
5 3 1 2 3 4 5 3 4 1 2 5 2
输出样例:
4 3 2
在第一个查询过后,。在选举的第一步中,FJ 可以选择 。在这里,奶牛 收到一票,奶牛 收到一票。因此,FJ 可以选择奶牛 或奶牛 中的任意一头作为第一头头牛。
对于不在这一选举中的所有奶牛,奶牛 收到一票,奶牛 收到一票,奶牛 也收到一票。因此,FJ 可以选择奶牛 , 或 中的任意一头作为第二头头牛。
为了得到最大的多样性,FJ 可以选择奶牛 作为第一头头牛,奶牛 作为第二头头牛。因此,多样性为 。
在第二个查询过后,,FJ 可以选择 。然后,他可以选择奶牛 作为第一头头牛,奶牛 作为第二头头牛。最大可能的多样性为 。
输入样例:
8 5 8 1 4 2 5 4 2 3 7 4 8 4 4 1 5 8 8 4
输出样例:
4 4 4 7 7
测试点性质: 测试点 3-4:。测试点 5-7:。测试点 8-15:没有额外限制。
供题:Chongtian Ma,Haokai Ma