QAQ自闭场

在升到1400越走越远

Codeforces Round #525 (Div. 2)

由于早上搭博搭到三点的原因,所以昨晚打比赛的时候昏昏沉沉的。直接就导致了我感觉那些英语单词在眼前飘着就过去了,根本没办法翻译它们……

不罗嗦了,直接进入题解部分吧

A. Ehab and another construction problem


A题大意就是说给你一个数x,要求找到两个数a和b,使得a,b取值范围[1,x],且a是b的倍数,a*b大于x,a/b小于x。

一开始我读不进去题,没注意到a,b要倍数关系,稀里糊涂交了一发。

但是其实题目还是很简单的。只要构造a=b=x,问题迎刃而解。值得注意的是,x=1时应该无解,故特判输出-1.

B. Ehab and subtraction


看B看了好久,没找到思路。

题目大意就是给出数组。每次找出其中非0的最小数输出,然后每个数减去这个数,直到做了k次操作。

后来盯着样例看了一会儿,灵光乍现!不就是给出的数列排序去重以后的差值依次输出么?超出了以后就一直输出0。

C. Ehab and a 2-operation task



做这题的时候剩一个小时。其实正常情况这道题可以写出来的,难度着实不大。

我昨晚最后的思路就是i从最后一个数开始,加到离的最近的 i的倍数,最多只需要n次操作。最后一步就是全体取模n,使得结果从0到n-1排列。

但是忘记输出组数了……就说凭什么样例WA我三次。但是其实这个应该也过不了,x有大小限制,应该会爆。

去看了正解。QAQ巨简单。就是说每个数都加上5e5+10(也不一定,只是代表一个大数),后面n次。从1开始到n对a[i]-i+1取余,就能保证严格递增了。呜呜呜,应该能想到的,并不复杂。


小仙女