20231101

T1

考虑先跑m遍KMP,记录下每个可以造成贡献的起点,再直接\(O(n^2)\)DP就可以了。思路比较好想,据说可以AC自动机做

得分:没交上去......

T2

观察前50%的数据,发现O(nk)可以直接过。再考虑第四个子任务。所有颜色相同,那么其他的K-1种颜色都是连通图,通过边数判断一下是否是树即可。正解考虑分治:考虑分治。设solve(l,r) 表示解决删去的颜色在 [l,r] 时的问题。先将颜色在[l,mid] 的边加到图中,递归solve(mid+1,r) 即可求得删去的颜色在 [mid+1,r] 的所有答案;同理可以求得删去的颜色在[l,mid] 的所有答案。使用可撤销并查集维护连通性即可。

得分;50

T3

考虑把两值相减看作是一段区间得长度。交换两个相交的区间一定是不优的,如果是交换两个不相交的区间。令i的右端点小于j的左端点,交换以后的两个区间一个是i的左端点到j的右端点,一个是i的右端点到j的左端点,也就是多了两倍的j的左端点减i的右端点(当然如果这个值小于0显然不该操作i和j)

接下来的事就很简单了,把每个区间的左端点升序,右端点降序,取前K大,当然小于0就不取。

记得是加贡献,原来的贡献也是要算的

得分:70

T4

不会就是不会

posted @ 2023-11-01 16:21  星河倒注  阅读(38)  评论(0)    收藏  举报