CF2030 report

CF2030

link

A

题意简述

给你一个可任意排列的数组,求其每个前缀中的最大值减最小值的和的最大值。

算法分析

第一个放最大的,第二个放最小的,于是 \(ans=\left(\max\left\{a_i\right\}-\min\left\{a_i\right\}\right)\times\left(n-1\right)\)

B

题意简述

给定一个数 \(n\),你需要求出一个长度为 \(n\)\(01\) 串使得带 1 的子序列和只带 0 的子序列数量差最小。

算法分析

排列组合:当只包含一个 1 时,差为 \(1+\left(\matrix{n\\n-1}\right)-\left(\matrix{n\\n-1}\right)=1\),易证此时差最小。

C

题意简述

给定长度为 \(n\)\(01\) 串,可以进行 |& 的操作,操作后会保留表达式,A 想让 1 作为最后的数,B 相反。若两 bot 都用最佳策略问 A 是否必胜。

算法分析

众所周知,& 优先级大于 |,所以我们只需用 | 将一个 1 锁住就行。易得,1 在串两端或成对出现时 A 必胜。

posted @ 2024-10-20 14:10  Clay_L  阅读(3)  评论(0)    收藏  举报