链接:https://www.luogu.com.cn/problem/P6105 题目描述:维护一个集合,动态加删元素,每一次维护集合中$(i+j)modC$($i,j$是集合中两个不同的元素)的最大值。 题解:我们可以将原问题转化为两个子问题: $1$.求$i+jC$的$i+j-C$的最大值。 事实上第二类问题在第一类问题的前提下可化为求$i+j-C$的最大值,可以用$set$直接维护。 考虑第一个问题,将每一个元素$i$按$i=C/2$划分成两个集合$A,B$,则贡献就有两种情况。 $1$.$A$与$A$的贡献:可以将$A$中最大的两个元素相加作为答案,可以用$set$直接维护。 $2$.令在$A$中取一个$i$,在$B$中取一个$j$,则$i+j 程序员灯塔 转载请注明原文链接:[Ynoi2010]iepsmCmq 喜欢 (0)