2020-2021 Saint-Petersburg Open High School Programming Contest (SpbKOSHP 20) 部分题解

E

先考虑每行个数相同的情形,只需 O ( n ) O(\sqrt n) O(n )扫一遍因子
再考虑类似美国国旗的情形,也就是一行个数为 x x x,一行为 x + 1 x+1 x+1,依次排下去
对于这种情形,可以将每行的个数视作 x + 0.5 x+0.5 x+0.5,行数不变,那么最后与 n n n误差不超过 0.5 0.5 0.5
所以我们分别对 n ∗ 10 + 5 n*10+5 n10+5 n ∗ 10 n*10 n10 n ∗ 10 − 5 n*10-5 n105质因数分解,并将其分拆成个位数为 5 5 5的因子 p p p与因子 q q q的乘积,并用 a b s ( p   d i v   10 + 1 − q ) abs(p~ div ~ 10+1-q) abs(p div 10+1q)更新答案
时间复杂度 O ( n ) O(\sqrt n) O(n )

K

签到题
答案即为min(a+1,b)

L

用线段树维护每个位置的xy坐标,支持区间交换xy坐标,区间加即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值