【4.12】Codeforces 刷题

C. Coin Rows

题意:

Alice 和 Bob 在一个 2 × m 2 \times m 2×m 的矩形上玩游戏,矩形的每一个格子上都有一个数 a i , j a_{i,j} ai,j。Alice 和 Bob 一开始站在左上角格子 ( 1 , 1 ) (1,1) (1,1) 上,每个人都只能向下或者向右移动,直到移动到终点 ( 2 , m ) (2,m) (2,m) 上,经过一个格子时会取走格子上的数,赢得相应的得分。

Alice 首先开始移动,Bob 不能取走 Alice 已经取走的数
Alice 期望最小化 Bob 的得分,Bob 则希望最大化自己的得分
请输出 Bob 的最大得分

思路:维护前后缀和,枚举即可。

AC代码:https://codeforces.com/contest/1555/submission/15342


B. Find The Array

题意:给定一序列,你需要构造同样长度的序列,使得相邻两数非互质,且两序列对应位置元素的差的二倍小于等于原序列的和。

思路:刚开始想了两种思路:全为平均数和全为 1 ,但是不能满足条件。发现全置为 1 时, ∑ ∣ a i − b i ∣ = S − n \sum|a_i - b_i| = S - n aibi=Sn,那我们可以交替的置为 1 ,如果步数不能小于等于 S,则取其补集,一定满足该条件。

AC代码:https://codeforces.com/contest/1463/submission/153427652


C. Even Picture

题意:在网格图上给不超过 5 × 1 0 5 5 \times 10^5 5×105 的格子涂色,使得所有被涂色的格子连通且与偶数个被涂色的格子相邻,且恰好有 n n n 个被涂色的格子的四周的格子都被涂色。

思路:见代码。

AC代码:https://codeforces.com/contest/1368/submission/153429610


C. Ehab and Prefix MEXs

题意:定义序列的 mex 序列是其每个前缀序列的 mex 值。现给你一个 mex 序列,让你反构造出一个原序列。

思路:思考可知,对于 m e x i − 1 ≠ m e x i mex_{i - 1} ≠ mex_i mexi1=mexi 的位置 i i i a i = m e x i − 1 a_i = mex_{i - 1} ai=mexi1,这些位置上的答案都已选定,标记一下。( m e x n mex_n mexn 也要标记)。对于剩下的位置 i i i ,从未选的数中从小到大选即可。

AC代码:https://codeforces.com/contest/1364/submission/153441416


C. Baby Ehab Partitions Again

题意:给定 n n n 长度的数组,定义一个数组是不好的,当且仅当可以把数组分成两个子序列,这两个子序列的元素之和相等。问使给定数组不是不好的最少删除几个元素,并输出被删除的元素的下标。

题解:题解 CF1516C

思路:首先,条件是元素之和相等,那么当数组中都是偶数时,可以一直除二,化归到存在奇数的情况。(这一点没有考虑到)

思考 元素之和相等 这个性质,如果序列和是奇数,那么肯定没有方案。对于和是偶数且存在奇数的情况,我们至多删除 1 个奇数转化成上一种情况。在删除之前,我们用 01 背包判断是否存在方案即可,不存在则不用删奇数。

AC代码:https://codeforces.com/contest/1516/submission/153462885

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值