摘要: 前言 今天突然想写一下关于莫队的那些事,原因无非有两点: 最近在写一些莫队的题 被莫队这个算法深深的吸引了 于是决定在今天写一篇简短但是不失莫队精髓的学习笔记。 莫队的引出 我们在刚开始做区间问题的时候很多时候会想到用两个指针去模拟当前区间。在需要回答下一个问题的时候,会去用当前的区间去更新即将回答 阅读全文
posted @ 2020-09-17 19:44 Point_King 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 这个东西他一开始也是草稿 题解 我们考虑在值域上做,设值域为 \(m\) 。 我们可以考虑数论分块,对于一对 \(a_i\) 和 \(a_j\) ,$\left \lfloor \frac \right \rfloor \(的取值只有\)\sqrt$ 个,所以我们考虑在相同的取值中取最小的 \(a_ 阅读全文
posted @ 2020-09-11 18:01 Point_King 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 一开始他还不是题解,是草稿…… 题解 设 \(x_i\) 表示第 \(i\) 个点选或不选,可得 \[ ans=max(\frac{ \sum_{i=1}^{n}(x_i\times t_i)}{\sum_{i=1}^{n}(x_i\times w_i)}) \] 我们不妨设一个函数如下 \[ y= 阅读全文
posted @ 2020-09-11 15:54 Point_King 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 本题解仅用与作者加深算法理解,也欢迎大家的阅读 做题背景 原本关于二维的点的 \(dp\) 问题一直都没有什么想法,昨天晚上再做一道 \(cdq\) 的题目的时候被同学询问了这道题,发现可以用二维偏序使用的第一关键字排序,第二关键字用数据结构维护的方法来做,今天就把他切了。 题意 你需要从点 \(( 阅读全文
posted @ 2020-09-09 15:25 Point_King 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 本题解用于记录一下一个优秀的东西——懒标记。 题解 可以很轻易的想到莫队的做法,但是题目让你输出的是满足条件的一个数,而不是满足条件的数的个数,似乎很难去 \(O(1)\) 转移。这个时候我们的懒标记就出场了。 我们可以维护一个栈,然后再加数字的时候直接加,但是删数字的时候在外面删(维护一个 \(b 阅读全文
posted @ 2020-09-08 18:34 Point_King 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 本题解提供的做法思路应该是比较清晰的,可惜代码实现比较繁琐,仅供大家参考。 题解 不难发现 \(x\) ,\(y\) 的取值范围只有 $200$ ,所以我们可以考虑从这里入手。我们可以先通过二维前缀和将每个点的上色次数算出来,然后考虑再画矩形。 我们可以先考虑一个矩形的情况,不难发现,如果矩形内的每 阅读全文
posted @ 2020-09-08 16:52 Point_King 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 发现是一道比较裸的树上莫队,于是就开始刚,然后发现好像是最难的一道题……(本题解用于作者加深算法理解,也欢迎各位的阅读) 题意 给你一棵树,树有点权,询问一条路径上是否有点权为 \(c\) 的点。 题解 我们可以比较明显地发现询问是很像莫队的询问处理的,可以 \(O(1)\) 去扩展 \(l\) 和 阅读全文
posted @ 2020-09-06 18:35 Point_King 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 我又开始水了,感觉又是一道虚假的蓝题 题意 非常好理解,自己看吧 题解 可以比较轻易的发现,如果对于一段满足和大于等于 \(m\) 的区间和其满足和大于等于 \(m\) 的子区间来说,选择子区间肯定是不会更劣的,所以对于一个右边界 \(r\) ,我们只需要找出满足条件的最大的左边界 \(l\) ,就 阅读全文
posted @ 2020-09-05 16:20 Point_King 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 说实话感觉不是一道蓝题……感觉挺水的,不过为了水题解,水题就够了(其实是觉得思考的过程比较典型,记录一下) 题解 刚开始看这道题感觉上没什么思路,但是我们可以先考虑用 \(O(n)\) 的时间去枚举发生的出逃次数,再用 \(O(n^2)\) 的时间去计算每一个出逃次数的情况下不一致条目的最小值。 现 阅读全文
posted @ 2020-09-04 20:54 Point_King 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 我表示我又开始水博客了…… 题意 非常好理解,自己读题吧 题解 我们可以发现,因为影响答案的只有选取的区间长度的最小值和最大值,所以我们可以考虑先根据区间长度排序,每一次选取区间长度相邻的一段,因为只有最大值最小值会影响答案,所以如果这一段存在一个点被覆盖了 \(m\) 次以上,那么它就可以更新答案 阅读全文
posted @ 2020-08-20 18:37 Point_King 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 我表示这是老早以前的 \(XJ\) 练习题,但是我一直在咕咕咕,所以现在才做完。 题目大意 给你三种建图方式: 点 \(u\) 向点 \(v\) 连一条边,边权为 \(w\) 。 点 \(u\) 向 \([l,r]\) 区间内的点连一条边,边权均为 \(w\)。 \([l,r]\) 区间内的点向点 阅读全文
posted @ 2020-08-20 14:33 Point_King 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 我爱卡常,卡常爱我 题目大意 给你 \(n\) 个数,需要找到一些分界点 $1 \leq k_1 \lt k_2 \lt \cdots \lt k_p \lt n$ ,使得 \[ \sum_{i=1}^{k_1} a_i \leq \sum_{i=k_1+1}^{k_2} a_i \leq \cdo 阅读全文
posted @ 2020-08-20 08:25 Point_King 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Day1 预计得分:\(32pts\)(我裂开了……) T1 美食家 表示考试的时候想到了关于矩阵快速幂的想法,甚至连分段后怎么处理都想好了,但是没有想到拆点,还有不知道怎么处理重边(这个考虑是多余的)。 所以打了一个 \(40pts\) 的暴力,结果我建边的时候的 \(add\) 函数不知道为什么 阅读全文
posted @ 2020-08-19 16:37 Point_King 阅读(524) 评论(1) 推荐(0) 编辑
摘要: 题目大意 给你一个 \(n\) 个点,\(m\) 条边的有向图,每条边有一个权值 \(w_i\) ,每个节点有一个权值 \(a_i\) 。 你从节点 $1$ 出发,每经过一个节点就可以获得该点的权值 \(a_i\) (起始点也可以获得,每个节点可以重复获得),问你经过的边权和恰好为 \(T\) 时, 阅读全文
posted @ 2020-08-18 21:11 Point_King 阅读(210) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-18 15:43 Point_King 阅读(21) 评论(0) 推荐(0) 编辑