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 拿一下积木能不能拼凑出合法数字。然后分类。
0 + ?
1e18 + ?
,? + 1e18
- 枚举第一个数长度,高位拿最小非 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\) 的值即可。