Codeforces Round #680 (Div. 2, based on Moscow Team Olympiad)

大链接Div2
昨晚忙于写作业而且也不知道这一场开了这么早 qwq
花了十几分钟把D题过了 我就知道这一场ABCD难度会很一般
显然,最终E题没过十人
A题 Array Rearrangment
就是给你两个不递减的序列a b 和一个数X 问你能不能重新给b序列 排序一下使得ai+bi<=x 如果能就输出yes 否则no 很简单 只需要暴力一下 倒着遍历b数组顺着遍历a数组就好了

B题 Elimination
题面读的我有点懵逼 还是忍痛开了翻译 ((其实很不想靠翻译的
大概意思就是100鸽人 参加比赛 他们的分数大概都是唯一的 而且是递减的 ,现在给出第100鸽人的分数 在第一回合 ,然后还告诉我们第二回合最低的得分是b 同理c d 现在问我们两个回合过去后 最靠后的排名是多少

其实分数决定排名,我们只需要求一次最大值 a+b 和c +d 即可 因为a c分别是两个回合排名最靠后的人 ((好像我对题意还是有点懵逼

C题 Division
大概意思就是给你两个数p q 要你找到最大的一个数 使得p%x=0 而且q 不能整除x - - 读完题就感觉是鸽简单题
这样子分析吧 ,首先整除 一定是有公共的质因子 而且某一方的所有质因子以及幂次均包含于另一方 那么这个题 如果p q 取余不为0 实际上最大的x就是p 本身 ((嗯 很显然是这样的

然后来分析一下p q p%q这种情况
由于质因子的包含,我们要整一个另一个不能整除的数而且另一方可以整除的数 还是得观察质因子的幂次 不难发现,如果质因子相同,而且每个相同质因子的幂次如果小于等于另一方 显然是整除的 我们只需要每次除去相同质因子直到p%q!=0 记录此时的p
为什么不对相同的质因子集合 或多或少的除去一些呢 - - 实际上还是幂次的原因,下放的少 还是能满足整除 就没必要
(又是语文负十级考试)

D题 求和

大概意思就是从一个长度为2*n的序列里面找出两种长度为n的序列 然后做差求和 所有合法的划分 模一个mod
首先题意的取序列大概是不受限制的 不妨排个序
然后对p q 的元素的位置经行分类讨论
(实际上是要证明一个结论)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45948940/article/details/109452879
今日推荐