上一页 1 ··· 6 7 8 9 10
摘要: 原题链接 这题因为要求满足 t 时间内,所以用 dp ,不过我们的状态比较特殊,\(dp[i][j]\) 表示到 \(i\) 点时经过 \(j\) 个点的最短时间,因为题目为 DAG 所以要用拓扑排序,每到一个点,枚举所有出边,更新出点的状态 \(f[v][j+1]=min(f[v][j+1],f[ 阅读全文
posted @ 2024-09-04 10:34 sad_lin 阅读(13) 评论(0) 推荐(0)
摘要: 51nod 1366 贫富差距 这题题面挺抽象的,一个人与他所以的朋友的钱不能超过 \(d\),问朋友链上钱最多的人的钱与钱最少的人的钱相差多少,求差距的最大值 。 如果两个人不属于同一个连通块那么差距可以无穷大,好了特殊情况解决了。然后为了使这个差距最大,那么对于每个朋友我们都取 \(d\) 为权 阅读全文
posted @ 2024-09-02 20:04 sad_lin 阅读(15) 评论(0) 推荐(0)
摘要: 暴力构图为 \(O(n^2)\) 无法实现,但可以发现有些边无用,可以先按 x 排序,第 i 号点与第 i+1 号点一定最近,所以建一条边,y 坐标同理,然后跑最短路即可自动选择 \(min(|x_1-x_2|,|y_1-y_2|)\) #include<bits/stdc++.h> using n 阅读全文
posted @ 2024-09-02 14:53 sad_lin 阅读(11) 评论(0) 推荐(0)
摘要: 学习笔记 我认为我这个算法可能无法讲明白,而且工作量巨大,所以为了让你快速学会我推荐学习下列笔记。 学习笔记1 学习笔记2 学习笔记3 放个模板 #include <bits/stdc++.h> using namespace std; const int N=1e6+10; char a[N],b 阅读全文
posted @ 2024-09-01 19:57 sad_lin 阅读(33) 评论(0) 推荐(0)
摘要: 闲话 虽然这题好像找不到原题了,但毋庸置疑地说这的确是并查集的好题。 找到了 acwing 洛谷 分析 可以先对奇偶区间进行分析,当这个有偶数个 1 时,区间 \(1-(left-1)\) 一定与 区间 \(1-right\) 的奇偶性相同。 上面的图 \(3-4\) 为偶区间,根据分析,\(1-2 阅读全文
posted @ 2024-08-30 19:40 sad_lin 阅读(33) 评论(0) 推荐(0)
摘要: 概念 最近公共祖先简称 LCA(Lowest Common Ancestor)。两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。 感觉其实看个图就懂了吧 图中例子 \(lca(u,v)=x;\) 这个问题理解概念不难,主要是学会如何计算,下面介绍三种方法。 方法 1.暴力法 朴素 阅读全文
posted @ 2024-08-30 08:35 sad_lin 阅读(148) 评论(2) 推荐(1)
摘要: 1.线段不覆盖问题 给出 \(n\) 个线段,选择尽量多的线段使得选择的线段相互之间无重叠,问最多可以选多少条线段。 解析 考虑贪心,将线段按右端点从小到大排序,如果这条线段的左端点大于上一条线段的右端点那就选择这条线段。 为什么这么贪是对的呢,因为将右端点排序可以使右边剩余的空间尽量大,那么剩余的 阅读全文
posted @ 2024-08-29 15:13 sad_lin 阅读(95) 评论(0) 推荐(0)
摘要: 定义 Manacher 马拉车,一种为了求字符串中最长的回文字串的算法。 暴力 这个算法是从暴力的方法转化过来的,暴力肯定是枚举字符串每个字符作为中心,然后向外扩展,这样的复杂度为 \(O(n^2)\)。 特殊处理 而 Manacher 则是按照回文对称的性质的进行优化的,首先回文串有奇数串 \(a 阅读全文
posted @ 2024-08-29 09:51 sad_lin 阅读(91) 评论(1) 推荐(3)
摘要: P8686 原题链接 做完这题感觉可以很好地理解并查集。 一眼看过去是不是只看出了暴力(不会只有我这样吧),我们先从暴力的方法再推到并查集方法,首先暴力的做法肯定是:如果一个数有重复的数那就一直加直到没有重复的数。 那这个过程能不能 \(O(1)\) 地求呢,当然可以,对于每个数 \(x\) 将他们 阅读全文
posted @ 2024-08-27 20:33 sad_lin 阅读(37) 评论(0) 推荐(0)
摘要: 排序这个东西真的挺卷的,有些就追求极致的速度,有些追求极致的简洁,有必要学一学提一提,尽管 \(sort\) 能解决绝大部分问题。 学习笔记 冒泡排序 mpft 第一个学的排序也是最简单的排序,也就是一个一个比较,如果右边的数大于左边的数就交换,我当初老师说这一个一个交换是不是就像冒泡一样,那确实哈 阅读全文
posted @ 2024-08-27 19:51 sad_lin 阅读(14) 评论(0) 推荐(0)
摘要: 提交题目链接 题意: 有 \(n\) 个点,每个点有相应的权值,用 \(m\) 条边将点连接形成多个联通块,按某种顺序依次删除这 \(n\) 个点,求每次操作后,全部的连通块中总权值的最大值。 解析: 将依次删点变为依次加点,并在加点时用并查集维护权值,然后更新最大权值。 插嘴: 看似简单的题其实有 阅读全文
posted @ 2024-08-21 15:26 sad_lin 阅读(15) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10