ABC 327

比赛传送门

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

———————————————————————————————————

只会做水题的我

你可能感兴趣的:(AT,ABC,算法)