仅供自己学习使用,如有错误,本人概不负责。
按照做题时间顺序排列。
[ABC278E] Grid Filling
发现相邻的两个矩形变化的仅是两行或两列,所以相邻的矩形可以快速的转移。设 n , m , k , h , w n, m, k, h, w n,m,k,h,w 同阶,总时间复杂度 O ( n 3 ) O (n ^ 3) O(n3), 可以通过。
好像还有高维前缀和做法,参考 此篇题解。
[ABC345E] Colorful Subsequence
赛时没过,我就是菜。设
d
p
i
,
j
dp_{i,j}
dpi,j 表示前
i
i
i 个球,保留
j
j
j 个,规定保留第
i
i
i 个,最大的权值。
d
p
i
,
j
=
max
d
p
p
,
j
−
1
+
a
i
dp_{i,j}=\max{dp_{p,j-1} + a_i}
dpi,j=maxdpp,j−1+ai,满足
c
p
≠
c
i
c_p \neq c_i
cp=ci。
使用滚动数组优化。
[ABC279E] Cheating Amidakuji
设有一次交换的两个数为 x , y x,y x,y, 分三种情况讨论。
- x x x 为 1 1 1,那么这次不交换,最后 1 1 1 的位置即为最后 y y y 的位置;
- y y y 为 1 1 1,同上;
- x , y x,y x,y 都不为 1 1 1,对答案没有影响,输出最后 1 1 1 的位置。
[ABC177E] Coprime
乱搞。暴力分解因数,统计每个因数出现的个数。如果没有
c
n
t
i
>
1
cnt_i > 1
cnti>1,输出 pairwise coprime
;如果没有
c
n
t
i
=
n
cnt_i=n
cnti=n,输出 setwise coprime
,否则输出 not coprime
。
[ABC166E] This Message Will Self-Destruct in 5s
将式子变形,得到
j
−
a
j
=
a
i
+
i
j-a_j=a_i+i
j−aj=ai+i。由于
i
<
j
i < j
i<j,考虑 map
存
a
i
+
i
a_i+i
ai+i 出现次数,累加查询值即可。
[ABC291E] Find Permutation
拓扑求一个顺序,分别赋 1 ∼ n 1\sim n 1∼n 的值。
[ABC198E] Unique Color
记 v i s i vis_i visi 表示第 i i i 种颜色是否出现过,每到儿子节点判断一下,记得回溯。
[ABC272E] Add and Mex
感觉很暴力啊,用 mex \operatorname{mex} mex 在 0 ∼ n 0 \sim n 0∼n 的这个性质,算一下这个数在 m m m 的哪个区间内对答案用贡献。