- 博客(21)
- 收藏
- 关注
原创 集合位运算 | B3695 集合运算 3题解
通过bitset的位操作高效处理集合运算,位移结合掩码快速完成元素加减和范围调整。查询操作直接利用位运算特性,时间复杂度低,适用于大规模数据处理。理解bitset的位操作与集合运算的对应关系是解题关键。
2025-02-13 16:25:16
318
原创 P2420让我们异或吧
本题要求我们在树结构中快速计算两个节点之间路径上所有边的异或值。由于树的结构特性,我们可以利用异或运算的性质来高效解决这个问题。基于这些性质,我们可以将问题转化为预处理每个节点到根节点的异或值,然后通过简单的异或操作快速得到任意两节点路径的异或值。通过巧妙利用异或运算的性质,本方法避免了复杂的路径计算,实现了高效查询,是处理树路径异或问题的经典方法。代码由人类编写,文章由deepseek官网版本编写。
2025-02-13 09:46:03
450
原创 如何编译 Clang 19 的 clangd
在现代的 C++ 开发环境中,clangd 是一个强大的语言服务器,能够为编辑器提供智能的 IDE 功能。对于需要构建和使用 clangd 的开发者来说,了解如何编译它是非常重要的。在本文中,我们将逐步指导如何编译 Clang 19 的 clangd,并使用相对路径。
2024-12-01 22:38:39
537
原创 解决Clangd中大型数组和C++23的性能问题
Clangd作为C++语言服务器,为开发者提供类似IDE的功能,例如代码补全。在处理大型数据结构时,Clangd有时会遇到性能问题,特别是在使用C++23时。最近GitHub上的一项讨论揭示了这一挑战,包括具体的示例、性能指标和可能的解决方案。
2024-12-01 00:25:57
492
原创 斐波那契数日2024
数学与计算机科学:斐波那契数列在算法分析中有重要应用,尤其是在递归算法、动态规划和数据结构(如斐波那契堆)中。最佳化问题:在一些最优选择问题中,斐波那契数列帮助构造递归关系,从而完成问题的优化。生物学:许多自然现象,例如植物的叶序、生物繁殖模式等,都可以用斐波那契数列来解释。例如,某些植物的果实和花瓣的排列数量常与斐波那契数相关。金融市场:技术分析中,斐波那契数列及其比例(如斐波那契回撤)被用于预测市场走势,帮助交易者识别支撑位和阻力位。艺术与设计。
2024-11-23 19:39:40
670
原创 NOIP2023T1题解
在本题中,小 S 拥有一个词典,包含nnn个长度均为mmm的不同单词。每个单词由小写字母构成。小 S 可以对词典中的任意单词执行以下操作任意多次(包括不操作):选择一个单词并交换其中任意两个字符。通过这些操作,小 S 想要确定对于每个单词wiw_iwi,是否存在一种重排方式使得重排后的wi′w'_iwi′在字典序上严格小于所有其他重排后的单词wj′j≠iwj′ji。任务。
2024-11-23 16:01:58
1052
原创 卡牌题解(CSP2024ST1改)
通过对怪兽的攻击力和防御力分别进行排序,并采用双指针的方法进行匹配,我们能够高效地计算出在最优攻击策略下,游戏结束时剩余的最少怪兽数量。该方法的时间复杂度为OnlognOnlogn,适用于题目中nnn达到10610^6106的规模,满足题目的性能要求。此策略确保每次攻击都尽可能地将攻击力小的怪兽用于击败防御力低的怪兽,从而最大化被击败的怪兽数量,最终实现最小化剩余怪兽数的目标。
2024-11-21 13:18:53
765
原创 NOIP2020ST1 排水系统 解题思路详解
在这道题目中,我们需要模拟一个城市的排水系统,计算每个最终排水口将排出的污水体积。排水系统由若干排水结点和单向排水管道构成。污水从若干接收口流入系统,经过若干结点的汇集和排出管道,最终流入没有排出管道的最终排水口。需要计算每个最终排水口排出的污水体积,以分数形式输出。本题通过模拟污水在排水系统中的流动,要求计算最终排水口排出的污水量。由于系统中的管道不形成回路,可以使用拓扑排序来处理污水的流向。关键在于精确地处理分数的加法和约分,保证最终结果的正确性。使用__int128。
2024-11-20 23:27:56
944
原创 [调整数组]差分,前缀和,思维性题目题解
该解法通过构造差分数组,将问题转化为调整差分为正和负的最小操作次数问题。利用前缀和后缀的方法,分别计算在不同转折点k下所需的操作次数,最终取最小值作为答案。这种方法的时间复杂度为 O(N),适用于较大的数据规模(最大N = 2e5。
2024-11-20 20:38:58
651
原创 NOIP2018提高组T3 题解
本题的目标是从一棵树中选择mmm条互不重叠的路径,使得这些路径中的最短路径尽可能长。为了高效地找到这个最大最小值,我们采用了二分查找结合深度优先搜索的策略。关键点总结:用于在可能的最小赛道长度范围内高效定位目标值。在每次二分查找的尝试中,DFS 用于遍历树并统计符合当前最小赛道长度条件的赛道数。在 DFS 中,通过贪心地组合子路径,最大化赛道数,确保路径不重叠且尽可能利用已有的部分路径。使用multiset来高效处理部分路径的管理和组合,确保算法的效率和正确性。
2024-11-20 00:53:28
686
原创 树上LCA跳表求树上两点距离之二叉跳表法
通过预处理树的深度和二叉跳表,我们可以高效地计算任意两点之间的最低公共祖先(LCA),进而快速计算它们之间的距离。理解并掌握这种方法对于解决树相关的竞赛问题非常重要。希望本文的详细解释和示例能够帮助你更好地理解和应用 LCA 来求解树上的两点距离问题。
2024-11-19 13:40:02
2137
原创 [暴龙]lca树上两点距离,子树合并与dp
该算法利用深度优先搜索(DFS)结合动态规划(DP)的思想,高效地计算了树中每种暴龙类型的最大距离(红温值)。DFS遍历: 从根节点开始,递归遍历整个树结构。动态规划: 在遍历的过程中,维护每个节点到其子树中特定暴龙类型的最大距离。答案更新: 通过合并子节点的信息,动态地更新每种暴龙类型的最大距离。复杂度分析对于每个节点,可能需要处理最多k种暴龙类型。因此,时间复杂度在最坏情况下为O(nk)。由于k和n均可达5e5,这种方法在大规模数据下会超过时间限制。适用性。
2024-11-19 10:46:38
1061
原创 T541155 组建队伍 multiset的使用
题目要求从NNN学生的索引满足ijki < j < kijk。学生的能力值严格递增,即aiajakaiajak。需要最大化三个学生能力值的乘积ai×aj×akai×aj×ak。如果不存在满足条件的组合,输出-1。if(a_val < b_val && b_val < c_val){ // 如果满足严格递增的条件// 更新最大乘积通过使用有序的multiset。
2024-11-18 23:40:35
845
原创 P4186 [USACO18JAN] Cow at Large G题解
在这个问题中,Bessie(牛)会出现在一个特定的谷仓K,而农民会从一些出口谷仓(每个出口谷仓只有一条隧道)开始追捕 Bessie。目标是计算出为了确保农民能够抓住 Bessie,所需的最小农民数量。农民和 Bessie 会以相同的速度在隧道中移动,农民的最佳策略是通过出口谷仓进行分配,使得他们能够最早地捕捉到 Bessie。这段代码通过深度优先搜索(DFS)和动态计算每个节点到最近出口的最短路径来优化农民的部署。
2024-11-17 10:05:47
274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人