欢迎光临散文网 会员登陆 & 注册

2021 CCPC 新疆省赛 补题 E

2022-03-31 00:42 作者:外号不可能是老眯  | 我要投稿

做了好几天的题,着实难受,有几题根本想不到这样写。4.3比赛。

E-Problem E. array_2021 CCPC 新疆省赛 (nowcoder.com)

E

BF是肯定不行的。这代码的意思是循环非零元素。

可以证明,当令a为x,b为y,c为z时,(x+y)% n必定为Z。

而且a中每一种元素必定与b中元素遍历相加,并且只加一次。

有一些特例比如从c[y] = 0 + b[x]是最大那么将不会被遍历到。

那么 b[x] 一定是两个数组的最大值 用反证法可以证明。

最后便可得出代码。

这只是很简单的减短了循环而已,如果没有非零元素,那么和BF将没有什么不同。

我用了一个更优的算法,不行,我真是服了。

优先队列法,把最大的两个进去,算出c【i】加入c,压入两个,分别是a的第一大和b的第一二大,a的第二大和b的第一大,依次循环,只要把c填满就行了。但是不行,卡在80%,挺可惜的。

2021 CCPC 新疆省赛 补题 E的评论 (共 条)

分享到微博请遵守国家法律