比赛传送门
引
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
 
 ———————————————————————————————————
结
只会做水题的我