mengxiaolong

 

2024年11月7日

树上差分

摘要: 近年的NOIP,对于树上差分的题目时有出现:(NOIP 2015《运输计划》,NOIP2016《天天爱跑步》)。 这些题目都要知道在树上从某个点到另一个点的所有路径。 但是,暴力求解这种题目经常会TLE。 这种题目需要使用树上差分。 在讲树上差分之前,首先需要知道树的以下两个性质: 任意两个节点之间 阅读全文

posted @ 2024-11-07 19:50 zsfzmxl 阅读(11) 评论(1) 推荐(0) 编辑

2024年11月1日

基环树

摘要: 基环树,也是环套树,简单地讲就是树上在加一条边。它形如一个环,环上每个点都有一棵子树的形式。因此,对基环树的处理大部分就是对树处理和对环处理。显然,难度在于后者。 找环 这是几乎所有基环树处理的第一步。扣环的方法多种多样,各有千秋,反正都是O(n)的。这里贴一下本人扣环的代码。这个东西,稍微博采众长 阅读全文

posted @ 2024-11-01 17:22 zsfzmxl 阅读(1) 评论(0) 推荐(0) 编辑

树的直径

摘要: 树上任意两节点之间最长的简单路径即为树的直径。一棵树可以有多个直径,他们的长度相等。 方法一:两次DFS:缺点:仅适用于正边权,优点:方便记录直径的路径,时间复杂度为:O(n) 方法二:树形DP:优点:也适用于负边权,缺点:不方便记录路径,时间复杂度:O(n) 方法一:两次DFS: 1.从任意节点出 阅读全文

posted @ 2024-11-01 17:06 zsfzmxl 阅读(12) 评论(0) 推荐(1) 编辑

2024年8月28日

博弈论算法总结

摘要: 正在完善! 何为博弈论 博弈论 ,是经济学的一个分支,主要研究具有竞争或对抗性质的对象,在一定规则下产生的各种行为。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。 先来看一道小学就接触过的思维题 你和好基友在玩一个取石子游戏。面前有30颗石子,每次只能取一颗或两颗,你先取,取完的 阅读全文

posted @ 2024-08-28 20:00 zsfzmxl 阅读(20) 评论(0) 推荐(0) 编辑

2024年8月26日

排序算法(详解)

摘要: 正在完善! 冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 1.1 算法描述 比较 阅读全文

posted @ 2024-08-26 11:42 zsfzmxl 阅读(63) 评论(0) 推荐(0) 编辑

2024年8月21日

[SCOI2014] 方伯伯的玉米田 题解

摘要: 对于每次修改的区间以及其左边序列和右边序列,共三种情况: 1.区间内比两侧低的还是低 2.区间内比两侧低的变得比两侧高了 3.区间内比两侧高的还是高 那么现在又面临一个问题:在区间内变化后,对答案,即最长不下降子序列有什么影响。 对区间左边:可能会使其最长不下降子序列增长 对区间右边:可能会使其最长 阅读全文

posted @ 2024-08-21 20:54 zsfzmxl 阅读(6) 评论(0) 推荐(0) 编辑

【模板】单调栈

摘要: 洛谷 P5788 【模板】单调栈 单调栈就是使栈内元素单调递增或者单调递减的栈,单调栈也只能在栈顶操作。 做一个比喻,比方说:有个集训队招人,一个数代表了一个选手的能力值,先进来的选手年龄会比较大,后面的选手年龄比较小,但是这个集训队没有人数限制,那么如果遇到一个比你小还比你强的人那么准备退役吧。 阅读全文

posted @ 2024-08-21 20:38 zsfzmxl 阅读(8) 评论(0) 推荐(0) 编辑

[CERC2019] ABB 题解

摘要: 题目可以转化为求最长回文子串,答案就是长度减去最长回文子串的长度。看到是求最长回文子串,一眼就容易想到马拉车。 此题只需在求出回文半径的基础上储存回文串的右端点,将求出的右端点排序,只要右端点不在最后的字符就结束(不能补),如果在最后的字符就取原字符串长度与当前回文子串的差值的最小值(需要补的字符个 阅读全文

posted @ 2024-08-21 20:37 zsfzmxl 阅读(5) 评论(0) 推荐(0) 编辑

SP368 CSTREET - Cobbled streets 题解

摘要: 题意 选 n−1 条道路连接 n 个城市,且使得其修建的价格最小。 分析 最小生成树的模板题,可以用 kruskal 来做。 首先,先将所有的边权从小到大排序。 然后,取当前没有选过的,且边权最小的边,判断它连接的两个点是否同属一个集合,如果不是就把他们加到同一个集合中,再记录答案。 代码很简单,也 阅读全文

posted @ 2024-08-21 20:37 zsfzmxl 阅读(5) 评论(0) 推荐(1) 编辑

导航