2018-2019 9th BSUIR Open Programming Championship. Semifinal

A. Four minutes until BSUIR Open

  • 正着走,加速度<=a,减速度<=inf,考虑每个点限速,求得到每个点的最大速度v1[i]
  • 倒着走,加速度<=b,减速度<=inf,考虑每个点限速,求得到每个点的最大速度v2[i]
  • 那么在第i个点的合法的最大速度为min(v1[i],v2[i])

B. Varvara and matrix

  • 经典的 2-SAT 问题
  • 建图复杂度太卜了,可以 bitset 优化一下

C. Cockroach Racing

upsolved

  • 考虑 dp,求出方案数不难每组方案元素和。
  • 逐行考虑,\(f[i][j]\)\(i\) 个数字填 \(j\) 的方案数。 NG!
  • 逐列考虑,\(f[l][r][col][d]\) 表示考虑第 \(col\) 到第 \(m\) 列,\(l\)\(r\) 行,\(s[r][col]\)\(d\) 的方案数,记录一下 \(\sum_{*}f[][][][*]\),前缀和优化转移。复杂度 \(O(10n^3m)\)

D. Light show

E. Small business

  • 大力分类讨论,越苟越好
  • 先写个函数 check 拿一下积木能不能拼凑出合法数字。然后分类。
  1. 0 + ?
  2. 1e18 + ?, ? + 1e18
  3. 枚举第一个数长度,高位拿最小非 0,其它位从小大拿。

F. Prime or number

签到

G. Sequence exploration

  • 每次截取后m位进行变换,发现没几次就出现了循环

H. Nonfibonacci numbers

  • 只能由 4,6,8,9,0 组成。
  • 数位 dp。

I. Equal Mod Segments

J. Boedium

  • 简单概率 + 枚举题意

K. Innovations

L. The only winner

  • 钦定 \((i,j)\) 是唯一的和最大的 pair,统计在此条件下分组方式。
  • 本质上是无向图完美匹配方案数问题,但是手玩一些 case 不难找到keypoint。
  • ...$$i$$j$$,根据乘法原理,决定一下最后三个 $ 分别 match 谁 ,剩下的可以乱匹配。
  • ...$$i$$j$$...i$$$$$$j 答案是一致的。
  • 枚举 \(i+j\) 的值即可。
posted @ 2020-04-17 06:44  FST_stay_night  阅读(845)  评论(0编辑  收藏  举报