随笔分类 -  题解

摘要:纪念一下人生中第一道数据分治题。 Subtask 1&2 这一部分具有的特殊性质是颜色段连续,那我们可以判断当前与前一个的颜色数是否为 1,若是则颜色相同,否则让颜色 +1。 Code namespace AB { void solve() { int cur=1; ans[1]=1; for(in 阅读全文
posted @ 2022-11-10 19:40 Day_Dreamer_D 阅读(81) 评论(1) 推荐(0)
摘要:求平面最近点对的时候有这样一种思路: 将所有点全部绕原点旋转同一个角度,然后按横坐标排序。 根据数学直觉,在随机旋转后,答案中的两个点在数组中肯定不会离得太远。 把这种思路运用到这题当中,我们旋转随机角度将点打乱之后枚举三角形的三个顶点即可。 坐标旋转公式: $$ x2=x1\cos\theta-y 阅读全文
posted @ 2022-11-10 19:18 Day_Dreamer_D 阅读(47) 评论(0) 推荐(0)
摘要:题目描述 Alice 和 Bob 玩游戏。 Alice 有一个 $1~n$ 中的正整数 $y$。Bob 不知道这个数。 游戏中的每一轮,Bob 选一个正整数 $x$,并提问 Alice:$y$ 是否大于等于 $x$?然后 Alice 需要回答是或否。 Alice 可以说至多一次谎。Bob 想要用尽量 阅读全文
posted @ 2022-11-05 15:18 Day_Dreamer_D 阅读(228) 评论(0) 推荐(2)
摘要:矩阵树定理 拉普拉斯矩阵 无边权 设无向图 $G$ 有 $n$ 个结点,则拉普拉斯矩阵 $L$ 是一个 $n\times n$ 的矩阵,满足: $L_{i,i}(i\in G)$ 的值为结点 $i$ 的度数。 $L_{i,j}(i,j\in G,i \neq j)$ 的值为结点 $i,j$ 之间相连 阅读全文
posted @ 2022-11-04 18:04 Day_Dreamer_D 阅读(82) 评论(0) 推荐(0)
摘要:考虑分块做法。 我们以 $\sqrt{n}$ 为块长分块,套路地维护每个数在这个每块中的出现次数 $cnt$。 对于 2 操作,整块直接读取 $cnt$,其余的直接暴力查询。 对于 1 操作,如果在同一个块里,直接暴力去做。如果不在,我们就将最后一个元素插入第一个元素所在的块中,然后整块平移并更新 阅读全文
posted @ 2022-11-03 19:58 Day_Dreamer_D 阅读(60) 评论(0) 推荐(0)
摘要:题目描述 求:$c_k=\sum(a_i\times b_{i-k})$。 推导 一般卷积是和一定,然而这个是差一定,于是我们考虑把 $b$ 反过来(其实反 $a$ 也可以)。 则 $c_k=\sum^{n-1}{i=k}(a_i\times b{n+k-i})$。 令 $d_k=\sum^{n-1 阅读全文
posted @ 2022-10-26 19:29 Day_Dreamer_D 阅读(31) 评论(0) 推荐(0)
摘要:前置知识:$(a+b)\equiv(a\bmod p+b\bmod p)\pmod{p}$。 同余定理使用后不能再修改数字。那么为了能用这个公式,我 们倒序处理每个数字。 定义 $d_i$ 为 $10$ 的位数 $-1$ 次幂对 $10^9+7$ 取模的值(数 $i$ 经转化后的位数),$b_i$ 阅读全文
posted @ 2022-10-26 19:18 Day_Dreamer_D 阅读(40) 评论(0) 推荐(0)
摘要:昨天刚刚做过一道类似的题,没想到在模拟赛当中出现了。 题目描述 有一棵 $n$ 个结点的树,有 $m$ 次询问,每次询问给你两个整数 $l,r$,问存在多少个整数 $k$ 使得从 $l$ 沿着 $l$ 到 $r$ 的简单路径走 $k$ 步恰好到达 $k$。 思路 考虑将一条 $l$ 到 $r$ 的路 阅读全文
posted @ 2022-10-21 14:09 Day_Dreamer_D 阅读(139) 评论(0) 推荐(0)
摘要:算法:树链剖分,可持久化线段树。 题目大意 给定 $n$ 个结点的一棵树,$m$ 次操作,操作有三种: 将 $x$ 至 $y$ 最短路径上的所有点的权值加上 $delta$。 对于 $x$ 至 $y$ 最短路径上的所有点 $u$,求 $\sum\sum^{\operatorname{dis}(u,y 阅读全文
posted @ 2022-10-20 13:39 Day_Dreamer_D 阅读(66) 评论(0) 推荐(0)
摘要:题目传送门:Link。 算法:DP。 设计状态 第一眼看着道题就感觉像是 DP,再观察数据范围大概是 $O(n^2)$ 的时间复杂度。 因为要求多个 $k$ 的答案,那么状态第一维显然是令多少个数满足条件,第二位就是算到第几个数。 $dp_{i,j,0}$ 表示前 $i$ 个数有 $j$ 个满足条件 阅读全文
posted @ 2022-10-20 09:07 Day_Dreamer_D 阅读(40) 评论(0) 推荐(0)
摘要:查询第 $k$ 小值想到权值线段树。 合并操作想到线段树合并。 维护连通性想到并查集。 并查集合并方向应与线段树合并方向一致。 查询时,先求出并查集的根再在线段树上询问。 /* * Title: P3224 [HNOI2012]永无乡 * Source: 洛谷 * URL: https://www. 阅读全文
posted @ 2022-10-20 07:33 Day_Dreamer_D 阅读(57) 评论(0) 推荐(0)
摘要:算法:线段树合并,离散化。 考虑任意一点 $u$ 为领导者的情况。 显然,选出以 $u$ 为根的子树中薪水 $C$ 最少的 $k$ 个结点(忍者),满足 $\sum C \le m$ 的情况下使 $k$ 尽可能大,这样 $u$ 为领导者的最大满意度为 $L_u \times k$。 考虑如何高效地求 阅读全文
posted @ 2022-10-19 18:52 Day_Dreamer_D 阅读(79) 评论(0) 推荐(0)
摘要:关于扫描线的介绍可以去看 OI Wiki。 但那上面的参考代码并不好,下面给出了带注释的 POJ 1389 题代码。 /* * Title: Area of Simple Polygons * Source: POJ * URL: http://poj.org/problem?id=1389 * A 阅读全文
posted @ 2022-10-19 14:53 Day_Dreamer_D 阅读(66) 评论(0) 推荐(0)
摘要:一句话,大模拟,对着题意敲就完了。 干就完了,奥利给! 正正好好 618 行~ // 10665 Problem G:【省选基础 模拟】魔兽世界终极版 #include <iostream> #include <cstdio> #include <cstring> #include <string> 阅读全文
posted @ 2022-10-19 09:09 Day_Dreamer_D 阅读(120) 评论(0) 推荐(0)
摘要:哈密顿回路需要把每个点经过且只经过一遍,而在树上,这只能是一条链。 手推一下可以发现,操作相当于把每个点复制一遍,等同于给允许这个点多经过一次,有了这个结论就容易了许多。 在树上 DFS,每次返回到父亲就操作一次,但这样不能保证操作最少(当然,最后不需要回到根节点)。 不需要返回的点构成了一条链,剩 阅读全文
posted @ 2022-10-18 20:24 Day_Dreamer_D 阅读(131) 评论(0) 推荐(0)
摘要:30pts 针对 $n \le 100$ 的数据,暴力对每个询问的接受程度跑一遍,时间复杂度 $O(n^3)$。 70pts 显然,在 MST 上走最优。 针对 $l_i,r_i,k_i \le 10^5$ 的数据,考虑预处理接受程度为 $i$ 时能去的不同种类的景点数 $f_i$,答案为 $\su 阅读全文
posted @ 2022-10-18 10:11 Day_Dreamer_D 阅读(160) 评论(0) 推荐(0)
摘要:考虑把一次交换产生的贡献记录在交换的两个数字中较小的那个数字上。则构造一个好的序列的过程可以看成是:按照从小到大的顺序枚举每个数,每次选择将这个数放在序列的左边或右边。 不难发现,每次放到左边或右边需要移动的次数是初始序列中左边或右边比这个数大的数的个数,与其它数选择放在左边还是右边无关。 直接用树 阅读全文
posted @ 2022-10-17 18:47 Day_Dreamer_D 阅读(100) 评论(0) 推荐(0)
摘要:一句话,大模拟,照着题意敲就完了。 写的期间甚至因为疫情导致程序被锁在了机房 www //3760. 魔兽世界(修订版) #include <iostream> #include <cstring> #include <string> using namespace std; /********** 阅读全文
posted @ 2022-10-17 18:35 Day_Dreamer_D 阅读(256) 评论(0) 推荐(0)
摘要:0. 洛谷 P3987 我永远喜欢珂朵莉~ 算法:树状数组。 模型抽象 Trick:$\forall k \ge 2$,最多 $\log a_i$ 次 $a_i \div k$ 使得 $a_i=1$。 证明:每次最少会使 $a_i$ 减半,最多 $\log$ 次就可以变为 $1$。 所以修改的复杂度 阅读全文
posted @ 2022-10-17 16:06 Day_Dreamer_D 阅读(291) 评论(0) 推荐(0)
摘要:来一发莫比乌斯反演的题解。 $$ \begin{split} ans & =\sum^{n-1}{i=1} \sum^{n-1}{j=1} [\gcd(i,j)=1]\ & = \sum^{n-1}{i=1} \sum^{n-1}{j=1} \sum_{d|\gcd(i,j)} \mu(d)\ & 阅读全文
posted @ 2022-10-12 12:03 Day_Dreamer_D 阅读(137) 评论(0) 推荐(0)