Grakn Forces 2020 A-F 简要题解

G r a k n   F o r c e s   2020 A − F \mathrm{Grakn\ Forces\ 2020 A-F} Grakn Forces 2020AF 简要题解

Grakn Forces 2020

注:若题目为多组数据 n n n 表示 ∑ n \sum n n

A

由于题目保证 a i ≠ b i ≠ c i a_i ≠ b_i ≠ c_i ai=bi=ci 所以直接逐位判断选什么即可,时间复杂度 O ( n ) O(n) O(n)

code

B

贪心地加数,直至这个序列不能加数增加一个序列,模拟一遍即可,时间复杂度 O ( n ) O(n) O(n)

code

C

我们考虑二分时间 t t t,然后分别模拟左端点与右端点在 t t t 秒后的位置如果 r ≤ l r\leq l rl 则表示这个 t t t 是合法的。时间复杂度 O ( n log ⁡ n ) O(n\log n) O(nlogn)

code

D

我们考虑 dp。 f i f_i fi 表示向左移动 i i i 至少像上移动几格。最后从后往前取一遍 max。那么 a n s = min ⁡ i = 1 1 0 6 f i + i ans=\min\limits_{i=1}^{10^6} f_i+i ans=i=1min106fi+i。时间复杂度 O ( n × m ) O(n\times m) O(n×m)

code

E

我们考虑会形成环的情况即为两个不同的数 x , y x,y x,y 分别同时出现在两个不同的集合 S , T S,T S,T 种。我们考虑每个集合里的元素 x x x 向当前集合 S S S 连代价为 a S + b x a_S+b_x aS+bx 的边。那么答案为 ( ∑ i = 1 n ∑ j = 1 m a i + b j ) − (\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}a_i+b_j)- (i=1nj=1mai+bj)连边后的最大生成树的权值。因为要删代价最小的边呗。时间复杂度 O ( ( n + m ) log ⁡ ( n + m ) ) O((n+m)\log (n+m)) O((n+m)log(n+m))

code

F

构造题。先把相邻的两个数边相等,再相邻四个,以此类推。

比如 n = 5 : n=5: n=5: 12345 ∼ \sim 66345 ∼ \sim 66775 ∼ \sim 86875 ∼ \sim 88885

我们只要分治模拟一下即可,时间复杂度 O ( n log ⁡ n ) O(n \log n) O(nlogn)

code

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值