上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 50 下一页
摘要: 比较经典的问题。 考虑根号分治,令 b=⌊n⌋b=\lfloor\sqrt n\rfloorb=⌊n​⌋。对于 k≥bk \geq bk≥b,直接暴力,复杂度是 O(n)O(\sqrt n)O(n​) 的。对于 k<bk < bk<b,考虑预处理 fi,jf_{i,j}fi,j​ 表示 t=i,k= 阅读全文
posted @ 2023-05-26 22:11 HappyBobb 阅读(11) 评论(0) 推荐(0)
摘要: 非常套路的建图最短路。 首先有一个非常好思考的做法,对于 i,ji,ji,j,如果 iii 的集合和 jjj 的集合有交集,那么连 i↔ji \leftrightarrow ji↔j 的边。 但这样建图复杂度已经达到了 O(n2)O(n^2)O(n2) 以上,无法承受。 于是我们考虑转化。两个集合有 阅读全文
posted @ 2023-05-22 18:29 HappyBobb 阅读(14) 评论(0) 推荐(0)
摘要: 题意 有一张 nnn 个点,初始时没有边的无向图。 你要维护 qqq 次操作,每次操作可能是下面的其中一个: 添加一条 uuu 到 vvv 的边。 删除与 uuu 相连的所有边。 每次操作后,输出孤立点数量。 解法 发现添加只会添加一条边,而删除则可能删除许多。一条边如果被加入一次,那么最多只会被删 阅读全文
posted @ 2023-05-22 18:25 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要: 容易发现我们可以先对两个序列排序。 依次枚举 aia_iai​,那么另一个数应该 xxx 应该满足 x∈[ai−D,ai+D]x \in [a_i - D, a_i + D]x∈[ai​−D,ai​+D]。因此我们可以二分在这个区间的最大值 ppp,那么这个贡献就是 ai+pa_i+pai​+p,最 阅读全文
posted @ 2023-05-22 18:22 HappyBobb 阅读(26) 评论(0) 推荐(0)
摘要: 由于 n≤8n\leq 8n≤8,所以可以考虑 O(n!)O(n!)O(n!) 暴力枚举全排列,并且依次计算是否满足题意要求。 #include <iostream> #include <cstring> #include <algorithm> #include <cmath> #include 阅读全文
posted @ 2023-05-22 18:18 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要: 经典树套树。 考虑删除 xxx,我们找到 xxx 的位置 ppp,那么删除 xxx 后,所有在 1∼p−11 \sim p-11∼p−1 中且大于 xxx 的逆序对都没了,同时在 p+1∼np+1 \sim np+1∼n 中小于 xxx 的逆序对都没了。可以使用 CDQ,KD-TREE,分块,树套树 阅读全文
posted @ 2023-05-21 21:39 HappyBobb 阅读(72) 评论(0) 推荐(0)
摘要: 直接贪心 先忽略 ?\texttt{?}?,算出一个值 vvv。 如果 n<vn<vn<v,那么答案就是 −1-1−1。 否则 n←n−vn \leftarrow n-vn←n−v,然后按位贪心,依次选即可。 #include <bits/stdc++.h> using namespace std; 阅读全文
posted @ 2023-05-17 20:01 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要: 直接做是难的,发现这个东西似乎可以矩阵优化。 可以发现 [a+bb]=[ab]×[1011]\begin{bmatrix} a+b&b \end{bmatrix} = \begin{bmatrix} a & b \end{bmatrix} \times \begin{bmatrix} 1 & 0 \ 阅读全文
posted @ 2023-05-16 18:50 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要: A. 易得。 #include <iostream> #include <cstring> #include <algorithm> #include <cmath> #include <cstdio> #include <set> #include <map> #include <unordere 阅读全文
posted @ 2023-05-13 11:07 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要: 自定义结构体维护平衡树即可,并不需要哈希。 我们对于每个结构体维护名字、分数和插入时的编号。先按分数,后按插入编号重载运算符即可。 根据题意,我们要支持插入,求排名,按照排名求值以及删除操作。因为如果一个人的分数被更新,我们要在平衡树中修改它,即先删除后插入。 由于需要删除操作,所以需要写前驱操作, 阅读全文
posted @ 2023-05-03 21:06 HappyBobb 阅读(13) 评论(0) 推荐(0)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 50 下一页