摘要: 难度2 比较好的题目,加强了对主席树的理解。 就我个人而言,我目前可以用三种方法切掉此题。 1.平衡树 对于每个颜色建平衡树,维护颜色对应的下标,询问时直接split输出size即可 2.stl(vector) insert,erase,lower_bound,upper_bound,一顿搞实现上面 阅读全文
posted @ 2024-02-27 10:03 wuhupai 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 难度2 eeeeeeeee比较有意思的一道题目。一开始看到删除,有一个很经典的trick,就是将删除变成插入,倒序处理。然后发现不会做了。然后巨佬lyc说可以用cdq分治,将时间变为第三个关键字,这样也就不用倒序处理了。考虑求出删除某个数后对逆序对个数产生的贡献,在加入了时间戳之后i,j为逆序对的条 阅读全文
posted @ 2024-02-27 09:59 wuhupai 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 难度3 比较有意思的一道题。首先看到题目是求树上最小路径覆盖,自然想到由叶子入手去分析,所以当子树内有偶数个叶子节点时,那么就有两个叶子向上匹配,否则只有一个叶子向上匹配。这个东西可以用树剖维护,线段树维护的是子树内有多少个偶的,相当于一个区间反转一类的东西。 细节不算多,但也坑了我0.5h,以后在 阅读全文
posted @ 2024-02-27 09:54 wuhupai 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 难度2 也是比较有意思的一道题。首先发现每个小团体独立,所以对于每个小团体分开直接暴力dp,dp[i][j]表示当前小团体做到第i人,走了j人,然后O(n)转移,加上部分分喜提50pts。为什么要O(n)转移呢,因为我要枚举匹配的两个人然后算贡献。但是对于这种带绝对值的贡献,我们一般都要把绝对值拆掉 阅读全文
posted @ 2024-02-27 09:54 wuhupai 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 难度1 一个比较经典的trick是,看到要求的比较难求,不妨枚举要求的,然后验证条件。 所以问题转化成了,枚举中位数,在前面找\(\frac{n-1}{2}\)个数,在后面找\(\frac{n-1}{2}\)个数,然后这些人的奖学金金额不超过f。然后有一个很简单的贪心,就是一个类似前缀最小和,后缀最 阅读全文
posted @ 2024-02-27 09:53 wuhupai 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 知道要用并查集才会做的,真是菜到家了。手模发现如果将这些约束条件变成图的边的话,那么在一个连通块中,这些节点可以共用一个父亲。然后构造出来的大概就是这种东西 所以我们可以选出大小大于2的一个集合,然后从其他点挑出一个作为父亲,然后另外点连在这个集合的一个点上就可以了。 阅读全文
posted @ 2024-02-27 09:51 wuhupai 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 最常用的是并查集,但是我最近学了线段树合并,以后还要学树上启发式合并。 当看到题目里有一些合并操作时,可以想到上面的东西。然后当看到多个约束条件时我们也要想到这些东西。首先对于并查集,我会普通并查集,扩展域并查集,带权并查集。带权并查集每个集合内的元素通常有一定联系,但是线段树合并就是一个集合内的元 阅读全文
posted @ 2024-02-27 09:50 wuhupai 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 考场上没写出来....... 考场上想的是对于每条边钦定一条最短路,边权全赋成1,然后就不会了。 下一部是钦定其他边边权为k,如果经过边权为k的边是最短路,那么把这条设为1就是更短的路。(点到点,一条最短路到另外一条最短路)。所以正确。无解当且仅当k==1并且有重复最短路。 以后看到最短路,如果边权 阅读全文
posted @ 2024-02-27 09:50 wuhupai 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 通常一个子树的信息可以由儿子合并而来。题目要求输出每个子树的答案。时间1e5 阅读全文
posted @ 2024-02-27 09:49 wuhupai 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 无向无根树,首先想到黑白间隔染色。首先看到相等,我们就能想到各种-1和1相抵消。然后考虑选1作为根节点,钦定子树权值为-1,然后靠着这个性质推就可以了。关于树的构造题要往度数,深度方面想 阅读全文
posted @ 2024-02-27 09:39 wuhupai 阅读(4) 评论(0) 推荐(0) 编辑