Codeforces Round #655 (Div. 2)

简要题解:

A. Omkar and Completion

题意要求你构造一个数列,满足
A x + A y ! = A z ( 1 < = x , y , z < = n , x , y , z 可 以 相 等 ) Ax+Ay!=Az(1<=x,y,z<=n,x,y,z可以相等) Ax+Ay=Az1<=x,y,z<=nx,y,z
由于题目说每个数不超过1000,而且 n < = 1000 n<=1000 n<=1000

有一种特殊情况假如每一项都是odd奇数

A x + A y ! = A z Ax+Ay!=Az Ax+Ay=Az

那么奇数加奇数肯定是偶数。即Az肯定为偶数
那么只用取 1 − n 1-n 1n 里的奇数,并且每个double输出即可。(取三个相同的奇数会重复

B. Omkar and Last Class of Math

思维题:
分三种情况。

1. i f if if 当是偶数时,最优即为

a = n / 2 a=n/2 a=n/2
b = n / 2 b=n/2 b=n/2

2. e l s e i f else if elseif 奇数时(非质数)先找到最小因子 f 1 f1 f1

那么最大因子就是 f 2 = n / f 1 f2=n/f1 f2=n/f1
有了最大因子就可以输出答案了,
a = f 2 a=f2 a=f2
b = ( f 1 − 1 ) ∗ f 2 b=(f1-1)*f2 b=f11f2

3. 最后是质数的情况。(else即可)

a = 1 a=1 a=1
b = n − 1 b=n-1 b=n1

反思:

写的时候第二种情况的for反了,qwq

C. Omkar and Baseball

简单推理。
对于一个 [ 1 , N ] [1,N] [1,N]位置上的identity permutation(恒等排列)。

  1. 假如有些元素在原本的位置上,而有些不在。那么肯定要操作 2 次。
  2. 假如所有元素都在原位,那么操作 0 次。
  3. 假如所有元素都不在原位,那么操作 1 次即可。

所以就check一下即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值