专栏文章

让你失望了私人教师 Kuroni

CF1305H题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@miqbxq53
此快照首次捕获于
2025/12/04 02:17
3 个月前
此快照最后确认于
2025/12/04 02:17
3 个月前
查看原文
As a professional private tutor, Kuroni has to gather statistics of an exam. Kuroni has appointed you to complete this important task. You must not disappoint him.
私人老师让我来完成这道私人题目。

para 太牛了,但是为什么这道题的练习题目是 Teoretičar。
nn 个问题,mm 个人,gig_i 表示第 ii 个人的得分,已知 qq 个人的得分:排名为 pip_i 的人得分为 sis_imm 个人总得分为 ttfif_i 表示第 ii 个问题的答对人数,第 ii 个问题至少 lil_i 个人答对,至多 rir_i 个人答对。现在可以列出已知条件:
gpi=sig_{p_i}=s_i
lifiril_i \leq f_i \leq r_i
i=1nfi=i=1mgi=t\sum_{i=1}^{n}f_i=\sum_{i=1}^{m}g_i=t
gigi+1g_i \geq g_{i+1}
因为构成完美匹配,根据霍尔定理:一个二分图 (V1,V2,E)(V1,V2,E) 存在完美匹配当且仅当 SV1N(S)S\forall_{S\in V1} |N(S)| \geq |S|,设 SS 中有 kk 个人,第 ii 个人得分为 gig'_i,可得:
i=1nmin(fi,k)i=1kgi\sum_{i=1}^{n}\min (f_i,k) \geq \sum_{i=1}^{k}g'_i
由于
i=1kgii=1kgi\sum_{i=1}^{k}g'_i \leq \sum_{i=1}^{k}g_i
所以 gi=gig'_i=g_i 时限制最强,因此:
i=1nmin(fi,k)i=1kgi\sum_{i=1}^{n}\min (f_i,k) \geq \sum_{i=1}^{k}g_i
GiG_i 表示前 ii 个人得分之和的最大值,可以根据上述推得:
Gij=1nmin(fj,i)G_i \leq \sum_{j=1}^{n}\min(f_j,i)
同时,由于已知 qq 个人的得分,可以加强限制:
Gi=min(Gi,Gi+1maxj=1q[pji+1]sj)G_i = \min(G_i,G_{i+1}-\max_{j=1}^{q}[ p_j\geq i+1]s_j)
如果 fif_i 确定,那么可以二分排第一的人数,然后为满足条件:
i=1mgi=t\sum_{i=1}^{m}g_i=t
根据 GiG_i 贪心的填即可。
现在考虑构造最优的 fif_i
由于要最大化排第一的人数,Gn=tG_n=t,所以要最小化一段前缀的 GiG_i。因此为最小化
j=1nmin(fj,i)\sum_{j=1}^{n}\min(f_j,i)
fif_i 需要在满足
lifiril_i \leq f_i \leq r_i
的条件下尽可能地小且平均。
实现方面,将题目按照 lil_i 从小到大排序,先将通过人数都设为 lil_i,计算剩余值,每次要补平一段前缀,用剩余值平均分配,同时用一个优先队列维护 rir_i,每次将预期补平值超过 rir_i 的踢出即可,时间复杂度 O(nlogn)O(n \log n)

评论

1 条评论,欢迎与作者交流。

正在加载评论...