ABC474

ABC474

比赛链接: ABC474 。

A. Not X

题目描述:

给一个 X∈{1,2,3}X\in\{1,2,3\} 。

输出一个 {1,2,3}\{1,2,3\} 内与 XX 不同的整数。

未识别到题目。

B. Exit Order

题目描述:

给一个排列 pp ,将排列 1010 个一分组之后,判断是否每一组都满足他们是对应下标的排列。

未识别到题目。

C. Remove and Append

题目描述:

给一个排列 pp , QQ 次操作,每次将一个元素 xx 移到最后。求最终排列。

记录每一个元素最后一次出现的位置即可。

D. Outweigh

题目描述:

构造一个序列 ww ,满足 ∑i=1naiwi>∑i=1nbiwi\sum\limits_{i=1}^n a_iw_i>\sum\limits_{i=1}^n b_iw_i 。

或输出无解。

wi∈[1,1018]w_i\in[1,10^{18}] 。

很显然 101810^{18} 很大,所以只要有一个 ii 满足 ai>bia_i>b_i 就有解。对于每一个 wiw_i 满足 wi=[ai>bi]1018+[ai≤bi]w_i=[a_i>b_i]10^{18}+[a_i\le b_i] 就行。

E. One Time Coupon

题目描述:

有 nn 个商品,第 ii 个商品价格为 aia_i ,优惠后为 bib_i 。

你可以进行任意次操作:

  • 使用优惠卷购买商品 ii 。
  • 直接购买商品 ii ,然后获得一个优惠卷。

求购买了所有商品至少的费用。

显然我们应该通过 aa 最少的那个商品搞优惠卷。然后将 ai−bia_i-b_i 顺序排序使用就行。

F. Increment All Divisors

题目描述:

给一个长度为 nn 的序列,你可以进行下列操作任意多次:

  • 将一个数所有因数的位置 +1+1 。

求是否有可能使得所有元素相等。若可能,求最少次数。

n≤2×105n\le 2\times 10^5 。

莫比乌斯反演模板题。略。

G. LRUD Moving 2

神秘构造

题目描述:

n∗nn*n 的方格,要求从 (1,1)(1,1) 开始, (n,n)(n,n) 结束。结束时必须经过所有方格恰好一次。求向右走恰好为 KK 的走法的存在性以及具体方案。

n≤103n\le10^3 。

显然 nn 为奇数, KK 为偶数为有解充要条件。

问题是怎么构造。

容易发现我们的构造大概是类似这样的:

1
2
3
4
5
6
7
8
9
10
11
12
############
*###########
***#########
****########
****########
****########
****########
*****#######
*****#######
********###
********###
***********

其中 * 表示竖着搞, # 表示横着搞。

但是这样不一定有解。

容易发现 n∗mn*m 的方格的有解充要条件为 nn 或 mm 中有一个为奇数。为了方便不妨让两个都为奇数。

所以每次我们应该一次搞两行或两列。

然后就做完了。证明可以考虑归纳。