摘要:
"传送门" 这个题其实和板子题差不多……不过这次修改和询问是分离开的,然后一个询问要被拆分成4个,就是维护二维前缀和的方式。 我的做法比较奇怪……(怎么我$CDQ$分治的题做法都很奇怪),别人都是按时间排序然后归并x,树状数组统计y,用x作为限制,因为这样时间天然有序。我是按x排序然后归并时间……其 阅读全文
摘要:
"传送门" 这道题其实我一开始直接的反应是分块……不过听说这是CDQ分治练习题。 看到这种删除的题……一般就会想到先全删光之后整回去。对于每次添加,我们要统计的就是添加在它之前的,位置在它之前的,比他大的,和添加在它之前的,位置在它之后的,比他小的。 形象地说,对于每一个操作i,给定三个值$tim$ 阅读全文
摘要:
传送门 CDQ分治是一个神奇的东西……说实话我觉得看它的讲义我是真的看不懂。感觉好像分治类的算法都这样,就是讲义讲不明白,得多做题才能慢慢理解。 毕竟因为分治的题主要是不知道怎么实现……得具体题目具体分析。 CDQ分治的精华我觉得是在于,他能通过“修改独立,允许离线”,转化为将序列分为两份,其中保证 阅读全文
摘要:
传送门 题目翻译的很清楚……似乎点分治的题题目描述都非常简洁。 还是那个操作,一条路径要么全部在一棵子树中,要么经过当前的重心,所以考虑点分治。 首先dfs求出重心的每一棵子树中,有i个黑点的最长路径长度(这个没什么难度),之后我们只要考虑一下怎么在子树之内合并信息即可。 首先我们肯定是枚举所有的子 阅读全文
摘要:
传送门 题目描述很清楚……虽然说要求的三角形不一定是三角形…… 这个题和平面最近点对看起来很像。考虑分治,对于当前处在中央的一个点,能更新答案的只有两种,第一种是用两个同在一侧的点与之更新,另一种是用两个异侧的点与之更新。同侧的我们递归下去分治就好了,而对于不同侧的,我们首先得到这时已经计算出来的最 阅读全文
摘要:
传送门 题目翻译给的很清楚w 这题官方给的算法是分治,但是说实话我真的不知道它和分治有什么关系…… 有一个很正常的思路是先把所有修改都加上,之后先计算出来最小的情况(这个很简单,dp一下即可),之后再逐步考虑修改有什么影响。 首先如果一次修改对答案有影响的话,那么更优的矩形一定是跨过这个障碍所在的一 阅读全文
摘要:
传送门 题目翻译都有……注意要求限制所有的点数不超过200000个。 这题的做法其实非常的暴力……一开始想得乱七八糟的,想到把互相离的比较近的那些点都添加上一些点,形成一个垂直的形状,不过这样好像没什么思路orzzzz 考虑分治,只要每次找到坐标在中间的那个点,之后把其他所有的点向这条线做正投影就行 阅读全文
摘要:
传送门 一道比较基础的分治题……但是我似乎不会分治…… 首先,区间的价值肯定与最小值有关,所以对于当前处理的区间,我们首先暴力的求出区间的最小值,其位置记为pos。之后……对于一个横跨过pos的区间,它的价值必定可以由pos左右两边区间的价值更新而来,所以说我们只需要暴力的在左右两边O(n)的扫一遍 阅读全文