CF-731-div3
题目 | A | B | C | D | E | F | G |
---|---|---|---|---|---|---|---|
通过情况 | O | O | O | O | O | O | O |
难度 | 800 | 800 | 1100 | 1300 | 1500 | 1900 | 2100 |
A. Shortest Path with Obstacle
题面
略
解法
略
代码
1 | /* |
B. Alphabetical Strings
题面
略
解法
略
代码
1 | /* |
C. Pair Programming
题面
略
解法
双指针,能操作就操作
代码
1 | /* |
D. Co-growing Sequence
题面
略
解法
第一位一定为0,后面按规则来即可
代码
1 | /* |
E. Air Conditioners
题面
略
解法
先将dp置于inf,有空调的位置置空调的温度,按下面规则扫描两遍即可:
从左向右扫描
$dp\left[ i \right] =\min \left( dp\left[ i \right] ,dp\left[ i-1 \right] +1 \right) $
从右向左扫描
$dp\left[ i \right] =\min \left( dp\left[ i \right] ,dp\left[ i+1 \right] +1 \right) $
代码
1 | /* |
F. Array Stabilization (GCD version)
题面
略
解法
和#736D比较像,本质是数据结构维护数列$gcd$
根据观察可知,经过k次操作后,当前位置上的值为$gcd\left( a_i,a_{i+1},…,a_{i+k} \right) $那么只需将初始值都除去所有数的最大公约数,断环为链后,找可以使所有值为$1$的最小长度$k$
代码
1 | /* |
G. How Many Paths?
题面
给定一个有$n$个点$m$条边的有向图,统计有多少条路径从$1$到$2,…,n$点(没有输出$-1$,有一条输出$1$,至少有两条不同输出$2$)
解法
模板题,缩点后统计(具体见代码)
代码
1 | /* |