Codeforces Round #131 (Div. 2)

A. System of Equations

  • \(a\)的范围在\(\sqrt n\)内,所以暴力枚举即可。

B. Hometask

  • 需要被2、5整除,所以末位必然为0,如果0没有出现,则直接返回-1。
  • 在不考虑被3整除的情况下,为了凑出最大数,必然是从9到0的顺序填数。
  • 设位数和模3的值为\(sum\),如果\(sum=0\),显然当前数即答案,否则考虑去除一些数使得数被3整除。
  • 因为\(sum \ne 0\),所以\(sum=1\ or\ sum = 2\),显然去除的数不会超过2个。优先考虑去除一个数\(x\),需要满足\(x \% 3 = sum\),且越小越好;去除两个数时\((x, y)\),需要满足\((x+y)\%3=sum\),且两个值越小越好。

C. Game

  • 游戏顺序必然是\(\cdots \to 1 \to 2 \to 3 \to 1 \to \cdots\)
  • 那么只要枚举起点,取最小值即可。

D. Numbers

  • \(f(i,j)\)表示由前i个数凑成长度为j的方案数。
  • 每次转移时,当前数的个数需要大于等于\(a[i]\)
  • 由于不能有前导0,所以填0时需要去掉首位这个位置。

E. Relay Race

  • \(dp(i,j,k)\)表示走了i步后,第一个人的横坐标为j,第二个人为k的最大值。
  • 转移时需要判断两个人是否在同一格子,即\(j==k\)

转载于:https://www.cnblogs.com/mcginn/p/6001958.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值