Codeforces Round 1050 Div4
A 思路: 当$n$为奇数时,答案为$x$,否则为$0$ B 思路: 显然每条线段都要经过,答案为$n+m$ C 题意: 现有$2$侧:$0$侧和$1$侧,$0$分钟一开始在$0$侧,尽可能地在两侧之间来回跑 给定$n$个约束 每个约束给定$ai,bi$,要求在第$ai$分钟,需要在$bi$侧 求经过$m$分钟后,最大来回次数 思路: 模拟+分类讨论 对于样例1:2个约束,跑4分钟 最好的方式: 0 1 1 0 0 1 2 3 4 5 跑2次 样例3:2个约束,跑7分钟 最好的方式: 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 跑7次 观察得到: 当约束时间差$dif=a[i]-a[i-1]$为偶数时 如果$b[i]!=b[i-1]$,那么这段时间对答案的贡献是$dif-1$ 反之,贡献是$dif$ 当$dif$为奇数时, 如果$b[i]!=b[i-1]$,那么这段时间对答案的贡献是$dif$ 反之贡献是$dif$ 一开始时间戳为$0$,在$0$侧,模拟即可 D 题意: 有一台收割机,一开始是关闭的。 给定一个数组$a$,按任意顺序访问每个数组元素一次。 当访问元素为奇数时,收割机开关一次,否则无视 当收割机开启时,会使访问到的元素添加到答案之和中 求答案之和的最大值 思路: 贪心 当数组$a$没有奇数时,显然收割机无法开启,答案为0 否则,可以取到所有的偶数元素之和 将奇数元素从大到小排列,先取当前最大的元素 再去取最小的元素,使收割机下一次遇到奇数时是开启的状态 E 题意: 给定一个长度为$n$的数组$a$ ...