本文主要是介绍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
———————————————————————————————————
结
只会做水题的我
这篇关于ABC 327的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!