文章目录
H. Zebras and Ocelots
手推一下发现容易发现是二进制,每次操作是数字减一。
G. Sheba's Amoebas
DFS染色一下判断个数即可。
I. Racing Around the Alphabet
圆周计算,简单模拟一下即可。
J. Lost Map
最小生成树,考虑边 ( i , j ) (i,j) (i,j),如果两者不在同一个连通块,且当前边的权值最小则一定是修建的路。原因是无法通过现在已有的边推导出更短的 ( i , j ) (i,j) (i,j)距离。
B. Pokemon Go Go
最短哈密顿路径,状压DP计算处理即可。
E. Is-A? Has-A? Who Knowz-A?
Floyed推导关系
i
s
[
i
]
[
j
]
=
i
s
[
i
]
[
k
]
&
i
s
[
k
]
[
j
]
is[i][j] =is[i][k] \& is[k][j]
is[i][j]=is[i][k]&is[k][j]
h
a
s
[
i
]
[
j
]
=
(
i
s
[
i
]
[
k
]
&
h
a
s
[
k
]
[
j
]
)
∣
(
h
a
s
[
i
]
[
k
]
&
i
s
[
k
]
[
j
]
)
∣
(
h
a
s
[
i
]
[
k
]
&
h
a
s
[
k
]
[
j
]
)
has[i][j] = (is[i][k] \& has[k][j]) | (has[i][k]\&is[k][j])|(has[i][k]\&has[k][j])
has[i][j]=(is[i][k]&has[k][j])∣(has[i][k]&is[k][j])∣(has[i][k]&has[k][j])
D. Smooth Array
题目中要求每个连续 k k k 长度的序列之和都为 S S S,因此可以知道 a [ i ] = = a [ i + k ] a[i] == a[i + k] a[i]==a[i+k],因此只需要考虑 k k k 个位置的值即可。
A. Stoichiometry
队友做的,高斯消元?
F. Atlantis
贪心