引
A,B,C题太水了不想写了,G太难了不会
所以记录一下D,E,F
正文
———————————————————————————————————
D. Good Tuple Problem
解法1
建图跑
D
f
s
Dfs
Dfs ,判断是否为二分图
时间复杂度
O
(
n
)
O(n)
O(n)
Code
解法2
带权并查集维护 相等或不相等关系
时间复杂度
O
(
m
log
n
)
O(m\log{n})
O(mlogn)
Code
实测解法2要更优秀
———————————————————————————————————
E. Maximize Rating
解法
D
P
DP
DP 算出每个
f
(
i
,
j
)
f(i,j)
f(i,j) 表示考虑后
i
i
i 个总共已选
j
j
j 个并选了第
i
i
i 个 的最大值
答案就是枚举 每一个
f
(
i
,
j
)
f(i,j)
f(i,j) 计算答案即可.
状态转移是
O
(
n
)
O(n)
O(n) 的
总复杂度为
O
(
n
3
)
O(n^3)
O(n3) ,可以后缀
m
a
x
max
max 优化转移 , 然后就是
O
(
n
2
)
O(n^2)
O(n2) 的了.
Code
———————————————————————————————————
F. Apples
解法
扫描线一下就好了
具体来说就是对于 每个长度为
W
W
W 的区间,我们以其左端点建立线段树
按横坐标升序枚举点,加入合法点,删除不合法点,每次查询 全局最大值即可
Code
———————————————————————————————————
结
只会做水题的我
补
D题的进阶题目Social Distance on Graph