随笔分类 -  题解

摘要:题意:有一棵 \(n\) 个点的树,每条边长度为 \(1\)。现在加一条权值为 \(x\) 的边,最小化 \(f(x) = \max\limits_{i = 1} ^ {n} d_i\)。其中 \(d_i\) 表示点 \(1\) 到点 \(i\) 的最短距离。 对于 \(x \in [1, n]\) 阅读全文
posted @ 2022-02-04 12:40 zhaohaikun 阅读(171) 评论(0) 推荐(0)
摘要:题目意思: 有 $n$ 个点,第 $i$ 点有一条出边 $i\to a_i$。更改点 $x$ 的出边代价为 $c_x$,要求用最小的代价将所有点连成一个环。 我们先把原图建出来,考虑这张图一定是若干个树连环。 每一个弱连通块一定是类似于这样: 即: 我们的任务则是找到最长的一条链。 对于一条链,每个 阅读全文
posted @ 2021-10-06 10:34 zhaohaikun 阅读(81) 评论(0) 推荐(1)
摘要:题目意思: 有 $n$ 组数 $a_1,a_2,\cdots,a_n$ 和 $b_1,b_2,\cdots,b_n$,$q$ 次独立的询问,每次询问区间 $l\sim r$,求多少次“平衡操作”使得每个满足 $l\le i\le r$ 的 $i$ 都有 $a_i=b_i$,无法完成输出 -1。 平衡 阅读全文
posted @ 2021-08-30 12:57 zhaohaikun 阅读(160) 评论(0) 推荐(0)
摘要:分析 先考虑如果没有 $L$ 和 $R$ 的长度限制,我们发现最优解中对于区间 $l\sim r$,$A_l$ 和 $A_r$ 应该分别为 $A_l,A_{l+1},\cdots,A_r$ 中的最大值和最小值。 考虑加上 $L$ 和 $R$ 的长度限制,若原来的区间为 $l\sim r$,则会分如下 阅读全文
posted @ 2021-08-30 12:22 zhaohaikun 阅读(70) 评论(0) 推荐(0)
摘要:推广个人博客,欢迎大家来玩。 题目意思: 给定 \(n\) 和 \(m\),求 \(n\) 个数满足以下 \(3\) 个条件的方案数(对 \(998244353\) 取模): \(l_i\leq a_i\leq r_i(1\leq i\leq n)\) \(\sum\limits_{i=1}^{n} 阅读全文
posted @ 2021-08-16 21:18 zhaohaikun 阅读(111) 评论(0) 推荐(0)
摘要:这道题挺有意思的。 首先答案为 \(b_i\) 中不同数字的个数,现在我们来考虑如何构造这个东西。 首先,我们把图建出来,每个点连向它要送礼物的人,我们会发现最终的答案中这个图由若干个环组成,切环的大小不能为 \(1\)。 那么,我们可以让对于每个点 \(i\) 任意一个在题目中想送 \(i\) 礼 阅读全文
posted @ 2021-08-16 20:52 zhaohaikun 阅读(117) 评论(0) 推荐(0)
摘要:行很少,列很多。 最终的答案只跟每一行有关,所以有些列是没用的。 或者换个角度理解,我们按一列上的最大数将这 \(m\) 列排序,把第一列上的最大数放在第 1 行,第二列上的最大数房子第 2 行,……,把第 \(n\) 列上的最大数放在第 \(n\) 行。于是我们发现第 \(n+1\sim m\) 阅读全文
posted @ 2021-08-13 21:48 zhaohaikun 阅读(103) 评论(0) 推荐(0)
摘要:这道题非常有意思。 首先存在点的度数 $>4$ 即无解。 因为要和坐标轴平行,且要求路径不能相交,那么点显然更不能相交,但只有 $4$ 个象限,最多只能向 $4$ 个象限分别连一条边,所以当度数超过 $4$ 的时候无解。 如何保证不相交?我们注意到 $n$ 到数据范围特别小,只到 $30$,相比之下 阅读全文
posted @ 2021-08-13 12:38 zhaohaikun 阅读(57) 评论(0) 推荐(0)
摘要:这题其实有 $O(n \log n)$​ 的做法。 首先,如果一个砖块可以压在另一个砖块上面只要满足长边比另一个砖块的长边小,短边也比另一个砖块的短边小,这是非常显然的。写成式子:如果这个砖块宽和长分别为 $kx,ky(kx<ky)$​,另一个砖块宽和长分别为 $tx,ty(tx<ty)$​,若满足 阅读全文
posted @ 2021-08-09 11:13 zhaohaikun 阅读(88) 评论(0) 推荐(0)
摘要:这道题首先考虑把求面积转化成求满足条件的格点数量,接着考虑怎么做。因为这两个矩形没有交,所以一个点最多只会被覆盖一次。于是最终答案中 \(K\) 层涂料的只可能是初始下 \(K-1\) 层涂料(被涂一层)和 \(K\) 层涂料(没有被涂)。 于是就考虑转化,涂了 \(K-1\) 层的格子标记为 \( 阅读全文
posted @ 2021-08-09 11:12 zhaohaikun 阅读(127) 评论(0) 推荐(0)
摘要:无任何高级数据结构。 本题分为两部分: 一部分是求出树上 \(k\) 级祖先,直接倍增跳就可以。 另一部分是求出树上 \(k\) 级子孙的数量,这一部分比较复杂。 首先一个点的 \(k\) 级子孙的深度显然都是一样的,因为是在同一子树内,所以,如果我们把 \(dep\) 为 \(x\) 的点的 \( 阅读全文
posted @ 2021-08-06 17:43 zhaohaikun 阅读(56) 评论(0) 推荐(0)
摘要:为什么最劣解选手还有脸来写题解啊…… 这题首先考虑每个数 $x(1\leq x\leq n)$​​​​ 分开算贡献。设 $B_1,B_2,\cdots,B_{m_x}(A_{B_i}=x)$​​​​。我们发现对于每个数分开计算是,$A_1,A_2,\cdots,A_n$​​​​ 只有两种数,一种是等 阅读全文
posted @ 2021-08-04 09:52 zhaohaikun 阅读(67) 评论(0) 推荐(1)
摘要:赛时并没有能调出来:( 这是一个 \(O(n\sqrt{n}\log n)\) 的屑做法,主要原因是我看到了 \(a_i\) 互不相等,但根本没想到怎么去用。 设 \(maxn=\max\limits_{i=1}^{n}a_i\),\(len=\sqrt{maxn}\) 下文将用到。 考虑对每个 \ 阅读全文
posted @ 2021-07-24 14:57 zhaohaikun 阅读(134) 评论(0) 推荐(0)
摘要:一种新的方法,做法类似于 w33z 的毒瘤题团,大家可以类比着看一下。 团这道题启示我们什么?对于 \(n\) 个点向 \(m\) 个点分别连边,我们可以引入中介来讲 \(nm\) 条边变成 \(n+m\) 条边。 相似的道理,首先考虑如果 \(S_{i,i}\) 保证为 \(1\) 怎么做?我们可 阅读全文
posted @ 2021-06-30 13:31 zhaohaikun 阅读(116) 评论(0) 推荐(0)
摘要:比赛当时降智了,没有想出来。 我们询问一个点,与它距离为 \(1\) 的所有点都跟它有边。 所以,我们想知道树的所有边只需查询所有深度为奇数的点,或所有深度为偶数的点就可以了。 这样我们就可以先查询任意一个节点,把它拉出来作根,然后再比较深度为奇数的点的个数和深度为偶数的点的个数(注意不要把根节点算 阅读全文
posted @ 2021-06-18 10:26 zhaohaikun 阅读(100) 评论(0) 推荐(0)
摘要:这道题首先需要跑一遍边双连通分量,然后剩下来的就是一颗树,每个点有其点权,询问对于树上一条 \((u,v)\) 的简单路径,时候经过的点的点权和不为 \(0\)。 其他题解基本都是跑 \(LCA\),去求路径的权值,其实这并没有必要,因为两点间的路径点权和为 \(0\) 的是一个连通块,若询问的 \ 阅读全文
posted @ 2021-05-27 17:31 zhaohaikun 阅读(97) 评论(0) 推荐(0)
摘要:这题我们可以想到将每个数字变成 \(d\) 进制的数,消灭数可以看成是 \(d\) 进制下原数是这个数 \(d\) 进制下的一段前缀。 于是可以使用 \(Trie\) 来实现这个过程,于是可以先将这 \(m\) 个原数 insert,然后再去查询。 一个数有多个前缀,我们可以选择其中最短的一个,因为 阅读全文
posted @ 2021-05-20 16:45 zhaohaikun 阅读(86) 评论(0) 推荐(0)
摘要:这题一眼看出了可以用主席树维护暴力在线的做法,时间复杂度 \(O(n \log^2n)\)。方法类比宝石。 后来在想出了一个 \(O(n \log n)\) 的做法,不需要任何高级数据结构。 这题用主席树的话,会发现所有查询都是已知的,不会有任何改变,且总查询次数是在 \(O(m)\) 级别的。 我 阅读全文
posted @ 2021-05-19 17:38 zhaohaikun 阅读(82) 评论(0) 推荐(0)
摘要:这题首先我们可以推出递推式: 我们先把加数个数大于等于 \(2\) 的限制去掉,最后再减回去即可。 \[ f_0=1 \] \[ f_n=\sum\limits_{i=1}^{n} j \cdot f_{i-j} \] 暴力代码: #include<bits/stdc++.h> using name 阅读全文
posted @ 2020-12-31 22:01 zhaohaikun 阅读(128) 评论(0) 推荐(0)
摘要:小 \(\text{A}\) 和小 \(\text{B}\) 决定利用假期外出旅行,他们将想去的城市从 $1 $ 到 \(n\) 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 \(i\) 的海拔高度为$h_i$,城市 \(i\) 和城市 \(j\) 之间的距离 阅读全文
posted @ 2020-10-17 10:29 zhaohaikun 阅读(186) 评论(0) 推荐(0)