- 博客(2428)
- 资源 (86)
- 收藏
- 关注
原创 亲士CAD工具箱使用方法、下载地址、需求收集
摘要:亲士CAD工具箱现支持CAD2013及以上版本(不兼容2012及以下),现公开征集功能需求。开发者邀请用户通过评论提交对二维/三维功能的改进建议或新增需求,以优化工具箱功能。
2026-01-02 11:37:25
405
63
原创 计算几何汇总
这是一个关于C++算法与数据结构中计算几何主题的博客目录页面,包含了基础知识、力扣题目和洛谷题目的分类整理。主要结构1. 基础知识部分三角函数和角公式、矢量旋转线段求交点算法点到矢量投影三角形外心计算跨立实验线段间距离计算仿射变换与齐次坐标平面凸包等基础计算几何概念2. 力扣题目(LeetCode)包含8个计算几何相关的题目,每个都有相应的难度分数(如1681、1708等)3. 洛谷题目包含13个题目,覆盖从普及到普及+的不同难度等级
2025-12-30 07:00:00
457
17
原创 【堆(优先队列)】P7913 [CSP-S 2021] 廊桥分配|普及+
C++堆(优先队列)当一架飞机抵达机场时,可以停靠在航站楼旁的廊桥,也可以停靠在位于机场边缘的远机位。乘客一般更期待停靠在廊桥,因为这样省去了坐摆渡车前往航站楼的周折。然而,因为廊桥的数量有限,所以这样的愿望不总是能实现。机场分为国内区和国际区,国内航班飞机只能停靠在国内区,国际航班飞机只能停靠在国际区。一部分廊桥属于国内区,其余的廊桥属于国际区。L 市新建了一座机场,一共有 nnn 个廊桥。该机场决定,廊桥的使用遵循“先到先得”的原则,即每架飞机抵达后,如果相应的区(国内/国际)还有空闲的廊桥,就停靠在廊
2026-03-25 16:11:32
312
5
原创 【计算几何】和差化积及积化和差
本文系统整理了三角函数的和差公式与积化和差公式,包括正弦、余弦的和差公式及其证明过程,以及积化和差的四个基本公式推导。文章还提供了相关扩展阅读资源,包括算法工具、学习资料和视频课程链接,适用于C++开发环境(VS2019/2022)。作者强调专业学习的重要性,并推荐按章节系统学习算法知识。内容涵盖数学基础公式证明与工程应用指导,适合算法学习者和开发者参考。
2026-03-25 16:05:58
440
2
原创 【分治法 前缀和】P8572 [JRKSJ R6] Eltaw|普及+
摘要 本文介绍了解决区间和最大值问题的两种方法。题目给定k个长度为n的序列,要求处理q次查询,每次查询区间[l,r]的和的最大值。方法一采用前缀和预处理,每次查询时遍历k个序列计算区间和,时间复杂度O(kq)。方法二预处理所有可能的[l,r]区间结果,空间复杂度O(n²)。针对不同数据规模(n≤1000或n>1000)采用不同方法优化性能。C++实现时发现使用标准容器会超时,改用原生数组或new分配内存可提高效率。测试样例展示了3次查询的结果。数据规模达到5×10⁵,需要高效算法处理。
2026-03-24 16:45:00
701
4
原创 P8812 [蓝桥杯 2022 国 C] 打折|普及+
本文摘要: 题目描述小蓝采购n种物品,m家店铺各有不同折扣时间段。需要计算选择一天采购所有物品的最低总花费。 算法思路: 使用差分数组处理店铺的折扣时间段,记录开始和结束时间点 维护每种物品的原价和折后价,使用multiset存储各时段价格 遍历时间点,动态更新当前各物品的最低价格 在遍历过程中记录最小总花费 时间复杂度分析: 使用有序映射处理时间点,复杂度为O(mlogm) 使用multiset维护最小价格,每次更新操作复杂度为O(logn) 代码实现: 使用map记录时间点及对应店铺 使用vector和
2026-03-24 07:59:51
335
原创 【动态规划】P8591 『JROI-8』颅脑损伤 2.0|普及+
摘要 本文探讨了线段染色问题的最优解算法。给定n条线段,要求将每条线段染成红色或黑色,满足:红色线段互不相交,每条黑色线段至少与一条红色线段相交。目标是使红色线段总长度最小。通过动态规划方法,将线段按左边界排序,定义dp[i]表示第i条线段为红色时前i条线段合法的最小长度和。算法通过两层循环枚举可能的红色线段组合,利用线段相交性质优化转移过程,最终返回所有可能解中的最小值。时间复杂度为O(n²),适用于n≤3000的数据规模。
2026-03-23 17:02:45
390
4
原创 【动态规划+前缀和+化环为链】P8810 [蓝桥杯 2022 国 C] 数组个数|普及+
本文讨论了蓝桥杯2022国赛C组G题P8810的解法。题目要求计算满足条件的环形数组A的个数,使得经过相邻最大化操作后得到给定数组B。主要思路是使用动态规划结合前缀和优化,通过化环为链的方式处理环形结构。动态规划状态表示处理长度和最后两个元素值,利用前缀和将单次状态转移时间复杂度降至O(1),总复杂度为O(10000N)。代码实现了状态转移和结果计算,适用于0≤bi≤10的约束条件。
2026-03-23 17:02:01
747
2
原创 【拆位法】P6306 「Wdsr-1」小铃的书 拆位法|普及+
题目摘要:小铃有n-1本书,每类书数量为k的倍数。魔理沙的一本书混入其中,求这本书的编号。输入n和k,以及n本书的编号。输出混入书的编号。由于n可达1e7,需高效算法。解法包括拆位法(位运算)和字符串拆分法(处理大数)。核心思路是统计每位或每段的出现次数模k,剩余1的位置即为结果。代码示例展示了字符串拆分法,将大数拆分为7段3位数字处理,空间复杂度O(7000),时间复杂度O(7n)。
2026-03-21 16:45:00
399
1
原创 【图论 前缀和】P8779 [蓝桥杯 2022 省 A] 推导部分和|普及+
本文探讨了蓝桥杯2022省赛A组题目P8779的解法,该题要求根据已知的部分和推导出其他区间的部分和。文章提出了多种解决方案:1)利用树上倍增和ST表建立有向图关系;2)通过并查集处理连通区域;3)采用DFS序建立前缀和。核心思想是将已知部分和转化为图论问题,通过路径求和确定未知区间和。对于无法确定的情况输出"UNKNOWN"。文章提供了详细的算法思路和C++代码实现,适用于大规模数据处理(N,M,Q≤10^5)。
2026-03-21 07:00:00
644
1
原创 【树的直径 离散化】 P7807 魔力滋生|普及+
本文研究如何从给定的扩展树T'中还原原始树T。题目要求通过逆向操作,找到使原始节点数n最大的解。关键点在于:当k>0时,原始树T中的节点度数不超过2,形成链式结构;当k=0时,可通过树的直径确定原始链。算法步骤包括:1)删除度数为1的叶子节点;2)对剩余节点进行离散化处理;3)根据k值选择相应策略处理链式结构。特别地,当k=0时可直接利用树的直径性质求解。时间复杂度为O(m),适用于大规模数据。
2026-03-20 16:30:00
709
1
原创 【动态规划 】P7972 [KSN2021] Self Permutation|普及+
摘要:本题要求计算给定排列通过删除相邻较大元素后可能得到的序列数量。关键思路是利用动态规划和单调栈优化。定义dp[i]表示以a[i]结尾的子序列数,通过维护单调栈来高效计算满足条件的转移。对于每个元素j,分两种情况处理:当a[j]是区间最小值时,利用栈中合法元素;否则通过树状数组快速求和。最终答案为所有合法序列数之和,时间复杂度优化至O(n logn)。
2026-03-20 08:00:39
370
2
原创 【博弈论】P8144 [JRKSJ R4] BBWWBB|普及+
摘要:本文研究了基于博弈论的棋子移动问题,分析了黑方和白方在特定规则下的最优策略。通过推导发现,游戏能否无限进行取决于初始布局和先手优势:当白棋先手且满足特定相邻条件时,可以通过兑子策略实现无限游戏;否则游戏将有限结束。代码实现了快速判断游戏是否会无限进行的功能,适用于大规模输入数据。
2026-03-19 16:45:00
824
5
原创 【高等数学】四,不定积分
本文系统介绍了不定积分的核心概念与计算方法。首先阐述了原函数与不定积分的定义,给出了基本积分表和不定积分的线性性质。重点讲解了换元积分法,包括第一类换元法(凑微分法)和第二类换元法(变量代换法),通过典型例题展示了如何运用三角函数代换等方法求解复杂积分。最后介绍了分部积分法的原理和应用实例,如求解多项式与三角函数、指数函数乘积的积分。全文通过大量实例演示了不同积分方法的实际应用技巧,为掌握积分计算提供了系统指导。
2026-03-19 07:00:00
6797
63
原创 【栈】P8430 [COI 2020] Zagrade|普及+
如果s不是合法串,则sta中是未知元素,不一定是(。如果s[sta.top(), i] 是合法串,则s[i]是), s[sta.top()]。栈可能非空,说明相邻两项都不是合法串,说明)在前,(在后。如果是),当前)对应的(在栈顶,不入栈且出栈。sta初始只有一个元素0,i = 1 to n-1,如果s[sta.top(), i] 是合法串,则当前是),否则是(。现在他们拥有了大量的计算机密码,并且正在开发一些相当复杂的工具,来破坏受密码保护的系统。输出来发送查询请求。对应的是整个串,当然是合法的。
2026-03-18 16:45:00
400
1
原创 【排列】P9053 [PA 2021] Ranking sklepów internetowych|普及+
本文研究了一个关于排列区间权值计算的问题。给定长度为n的排列a,定义区间[l,r]的权值为区间长度x加上两倍的中位数y。题目要求找出所有区间中权值的最大值及其出现次数。 关键思路是:对于不同长度的区间,最大权值总是1+2n。要取到最大权值,区间必须包含排列中最大的(n+2)/2个数。通过分析这些数的位置关系,可以计算满足条件的区间数量。 算法实现上,通过维护最大数的位置范围,计算每个可能长度x下满足条件的区间数。最终输出最大权值1+2n及其出现次数。该方法高效处理了大规模数据(n≤10^6)的情况。
2026-03-18 07:00:00
370
3
原创 【枚举】P6786「SWTR-6」GCDs & LCMs|普及+
题目要求从给定序列中选出满足特定条件的数,使这些数之和最大化。关键在于发现选出的数必须构成一个等比数列,公比为3/2。通过分析发现,只有满足条件(c-1)*(d-1)=2的数对才能被选中,即c=2,d=3。因此,有效数列中的每个数必须是前一个数的3/2倍。 解法步骤: 统计每个数的出现次数 按升序处理每个数i 若i是3的倍数,则累加i的贡献和前驱数(2i/3)的贡献 否则仅累加i本身的贡献 记录过程中的最大值 时间复杂度O(nlogn),空间复杂度O(n)。该算法高效地利用了哈希映射和排序来处理大规模数据。
2026-03-17 16:45:00
750
4
原创 【动态规划 前缀和】# P6146 [USACO20FEB] Help Yourself G|普及+
本文讨论了P6146 [USACO20FEB] Help Yourself G问题的动态规划解法。题目要求计算所有线段子集的复杂度之和,其中复杂度定义为并集形成的连通块数量。作者尝试了多种动态规划思路,包括按右端点排序、前缀和优化等,最终发现需要统计不与当前线段交叉的前置状态。核心思路是预处理不交叉区间数,利用快速幂计算可能组合数。代码实现了基于线段排序和前缀和的动态规划算法,处理大规模数据时效率较高。
2026-03-17 07:00:00
385
2
原创 【数论 质因数分解】P9179 [COCI 2022/2023 #5] Logaritam|普及+
本文讨论了COCI竞赛题目P9179中的对数序列问题。关键结论包括:1) 序列首元素必须为0,否则无解;2) 修改某元素x会连带影响其质因数对应的元素;3) 修改x的最大质因数y会导致n/y个元素需要修改。代码部分展示了输入输出优化类模板,用于高效处理大规模数据。该问题通过数论分析得出最小修改次数,对于无法修复的情况输出-1。
2026-03-16 16:30:00
424
3
原创 【超音速专利 CN117129477A】一种适于双极板外观缺陷的检测方法、系统、装置及平台
本发明公开了一种双极板外观缺陷的智能检测方法及系统,申请号CN2023107059594。该方法通过获取待检测双极板的料位数据生成传送控制指令,实时采集传送过程中的图像数据并分类处理,构建训练模型进行缺陷检测,最后根据检测结果自动筛选合格产品。系统包括数据生成单元、检测单元和控制单元,配套的检测装置采用可调节相机阵列和翻转机构,实现双极板多角度自动化检测。该技术方案解决了传统人工检测效率低、无法全面检测各类外观缺陷的问题,显著提升了双极板外观缺陷检测的自动化水平和检测精度。
2026-03-16 07:00:00
1045
48
原创 【巴什博弈 线性筛】P8901 [USACO22DEC] Circular Barn S|普及+
摘要 本文分析了USACO 2022年12月比赛中的环形牛棚博弈问题。题目描述两位农夫在环形牛棚的N个房间中轮流移除奶牛,每次可以移除1或一个质数数量的奶牛。当房间奶牛数为0时,当前行动者失败。研究发现:对于单个房间,若奶牛数是4的倍数则先手必败;否则先手必胜。通过线性筛预处理质数,计算每个房间失败时的行动次数,取最小奇偶性决定胜负。算法时间复杂度为O(nlogn),适用于大规模数据。代码实现包含输入输出优化和博弈逻辑处理。
2026-03-14 16:45:00
422
5
原创 【DFS 字典树】P10388 [蓝桥杯 2024 省 A] 团建|普及+
本文探讨了蓝桥杯2024省赛题目《团建》的解法。题目要求计算两棵树从根到叶路径序列的最长公共前缀。解题思路如下: 使用邻接表存储树结构 对第一棵树进行DFS遍历,构建字典树(前缀树),利用哈希映射记录子节点 对第二棵树进行DFS遍历,在字典树中匹配路径,当遇到不匹配节点时终止该分支的搜索 关键点在于: 字典树的高效构建和查询 深度优先搜索遍历树结构 利用哈希映射优化字典树存储 该方法的时间复杂度主要取决于字典树的构建和查询效率,能够高效处理大规模数据(n,m≤2×10^5)。示例代码展示了如何实现这一算法。
2026-03-14 07:00:00
443
2
原创 【构造 前缀和】P8902 [USACO22DEC] Range Reconstruction S|普及+
题目要求根据给定的子数组全距信息重构原始数组。通过分析数组性质,可以得出以下结论:1)数组元素整体加减不影响全距;2)元素取反不影响全距;3)相邻元素的差值绝对值由特定条件决定。基于这些性质,我们可以从a[0]=0开始,逐个确定后续元素的值,通过检查与给定全距的一致性来确保解的正确性。时间复杂度为O(n²),其中n是数组长度。代码实现了这一思路,通过维护前缀极值来高效验证候选解的合法性。
2026-03-13 16:45:00
354
原创 【构造 分类讨论】P9326 [CCC 2023 S3] Palindromic Poster|普及+
本文讨论了如何构造满足特定回文条件的N×M字母矩阵。关键思路是利用a、b、c三种字符进行构造,通过分类讨论不同情况: 当行回文数R等于M且列回文数C等于N时,全部填充a即可。 当R≠M且C≠N时,前R行前C列填a,其余填b。 当M=R但N≠C时,需考虑C的奇偶性,通过对称填充a来控制列回文数。 当N=C但M≠R时,类似处理行回文数。 特别情况包括:当N=M=1时直接填a;当要求0行0列回文时需特殊构造;当仅要求0行或0列回文时需调整填充方式。通过这些分类处理,可以构造出满足条件的矩阵或判断无解情况。
2026-03-13 07:00:00
360
2
原创 【动态规划】P8801 [蓝桥杯 2022 国 B] 最大数字|普及+
摘要 题目要求通过有限次数的加1和减1操作,将给定数字N的各位数字调整到最大值。核心思路是利用动态规划,状态表示为dp[m][a][b],表示处理前m位后剩余a次加法和b次减法时的最大数字。转移时对每位数字只进行全加或全减操作,优先将高位数字调整到9。算法时间复杂度为O(MAB),其中M是数字位数,A和B是操作次数限制。关键性质是:1) 高位优先调整;2) 同一位不会同时进行加减操作。最终返回所有可能状态中的最大值。
2026-03-12 16:45:00
355
1
原创 【AutoCAD】eKeyNotFound
摘要:AutoCAD出现"eKeyNotFound"错误提示,主要发生在两种场景:一是引用的层名或标注名不存在;二是新建实体时层名设置错误。解决方法有两种:1)直接设置LayerId属性;2)先将实体添加到数据库再修改层名。关键是要确保实体已关联数据库才能正确查询层名。
2026-03-12 07:00:00
1229
57
原创 【前缀和】B4157 [厦门小学生 C++ 2023] 数据核心| 普及+
本文摘要: 题目描述了一个数据核心矩阵问题,要求对给定的n×m矩阵进行多次查询,每次查询以(x,y)为左上角的子矩阵的最大运算力。解题思路采用二维前缀和优化,通过动态规划预处理每个可能子矩阵的最大和。时间复杂度为O(RC√RC),适用于大规模数据。代码实现包括输入处理、动态规划计算和结果输出,支持高效处理100,000规模的矩阵和查询。
2026-03-11 16:45:00
710
原创 【字典树 回溯】P7210 [COCI 2020/2021 #3] Vlak|普及+
摘要 题目描述两位玩家Nina和Emilija通过轮流在单词末尾添加字母进行游戏,要求每次添加后单词必须是各自喜爱歌曲中某个单词的前缀。无法操作的玩家输。解决方案是构建两个字典树分别存储两人的单词集,并通过回溯算法判断胜负。核心思路是:当前玩家若存在子节点而对手没有则获胜,否则递归检查共同存在的字符。时间复杂度为O(|S|),其中|S|是单词总长度。代码实现使用模板化的字典树结构,支持高效的前缀查询和节点管理。
2026-03-11 07:00:00
425
6
原创 【中心扩展】P6297 替换|普及+
本文研究了贝壳项链中"可观赏"区间的最大观赏指数问题。给定n个贝壳及其好看程度a_i,定义对称区间为满足特定条件的区间,且最多允许k次替换使区间对称。观赏指数定义为区间内贝壳好看程度的乘积。采用中心扩展法枚举所有可能的回文区间,使用双精度对数(log)记录乘积大小以避免大数计算,同时用模数记录实际值。通过比较对数大小确定最大观赏指数,最终输出模1e9+7的结果。该方法有效解决了大数乘积比较问题,时间复杂度为O(n^2)。样例测试表明算法正确,适用于n≤1000的数据规模。
2026-03-10 17:00:00
392
3
原创 【前缀和 分治法】P11293 [NOISG2022 Qualification] L-Board|普及+
本文摘要: 题目要求在n×m的棋盘上寻找L型区域,使覆盖数字总和最大化。L型区域由三个点确定,可旋转四种方向。解题采用分治法和前缀和优化:1)预处理每行的左右方向最大前缀和;2)转置矩阵处理列方向;3)合并结果求最大值。核心算法通过动态规划计算每个位置的最大前缀和,时间复杂度O(nm),适用于大规模数据(n,m≤1000)。样例验证了算法正确性,如2×2棋盘最大和为15。
2026-03-10 07:00:00
347
2
原创 【数论 扩展欧几里得 中国剩余定理】P12364 [蓝桥杯 2022 省 Python B] 寻找整数|普及+
本文摘要:题目要求寻找满足48个同余条件的最小正整数解。解题思路基于数论中的中国剩余定理和扩展欧几里得算法。通过逐步合并同余方程,将两个同余条件转化为一个更一般的同余方程,最终求得满足所有条件的最小解。核心算法处理同余方程组的合并过程,利用最大公约数和最小公倍数的性质,通过循环迭代求解。代码实现中使用了栈结构来处理同余方程的合并过程,最终输出满足条件的最小正整数解。
2026-03-09 17:00:00
825
5
原创 【超音速专利 CN 116833831 A】适用于镁合金压铸
本发明公开了一种适用于镁合金压铸件的打磨抛光方法、装置及系统。该方法包括:通过真空吸附夹具定位镁合金压铸件,采用气缸传送实现工位转移;通过KK模组带动旋转毛刷进行表面粗抛和精抛,配合压力调节气缸控制抛光参数;采用无杆气缸实现夹具平移,完成多工位抛光处理;实时采集料位数据和表面处理数据,通过数据处理判定抛光质量是否符合预定阈值。装置包括机架、安装架、表面抛光装置、上料装置、侧面抛光装置和中转装置等模块。该系统可实现镁合金压铸件全自动打磨抛光,具有快速装拆毛刷、粉尘防护和精确定位等特点,提高了抛光效率和质量稳定
2026-03-09 07:00:00
1292
65
原创 【动态开点差分数组】P6641 [CCO 2020] A Game with Grundy|普及+
摘要 本文解决[CCO 2020]竞赛题"A Game with Grundy",要求计算在平面直角坐标系上,站在不同位置时被N个人视野覆盖的情况。每个人位于(xi,0)点,视野范围由两条斜率为±vi/hi的射线构成。我们需要计算在y=Y高度上,从L到R区间内,被0到N个人视野覆盖的位置数量。 核心解法是使用动态开点差分数组:首先计算每个人视野在y=Y高度的左右边界,然后通过差分数组记录覆盖情况,最后统计被不同人数覆盖的位置数。时间复杂度为O(NlogN),适用于N≤10^5的大数据量。
2026-03-08 17:00:00
684
原创 【模拟】# P7411 [USACO21FEB] Comfortable Cows S|普及+
本文介绍了USACO竞赛中关于奶牛舒适度问题的解法。题目要求在二维棋盘上逐步添加奶牛,每次添加后需要计算使所有奶牛都不"舒适"(即不与恰好三头奶牛相邻)所需额外添加的最小奶牛数量。 核心解法采用BFS和哈希映射技术,通过维护每个奶牛邻居的状态来动态调整。每次添加新奶牛后,检查其周围邻居状态,必要时添加新奶牛来破坏"舒适"条件。时间复杂度为O(N),空间复杂度为O(N)。 该方法高效处理了大规模输入(N≤10^5),并正确计算了每一步需要额外添加的奶牛数量。示例输入输出
2026-03-08 07:00:00
361
1
原创 【BFS 逆向思考】P9178 [COCI 2022/2023 #5] Diskurs|普及+
摘要 题目要求计算n个m位二进制数两两之间的最大汉明距离。汉明距离定义为两个数二进制表示中不同位的数量。通过逆向思维,将每个数视为图节点,相邻节点为仅有一位不同的数。利用BFS算法计算每个数到其他所有数的最短路径(即最小汉明距离),最终答案为m减去该最小距离。该方法时间复杂度为O(nm),适用于m≤20的情况。输入输出样例验证了算法的正确性。
2026-03-07 16:45:00
370
1
原创 【动态规划 排序】P9102 [PA 2020] Cukierki|排序
本文摘要: 题目要求计算能够满足特定条件的非空糖果袋子子集数量。给定n袋糖果,每袋有a_i个糖果,需要找出所有子集,使得对于任意1到子集总和的整数y,都能通过子集中某些袋子的组合恰好得到y。 解题思路: 将糖果袋按升序排序 使用动态规划,状态dp[n][sum]表示前n袋糖果能否组成sum 关键转移条件:当新加入的袋子糖果数a_i ≤ 当前可表示的最大数+1时,可以扩展表示范围 最终统计所有满足条件的子集数量,对10^9+7取模 算法优化:通过排序和动态规划将复杂度控制在O(n*max(a)),并使用滚动数
2026-03-07 07:00:00
382
2
原创 【拆位法 分块】P7282 [COCI 2020/2021 #4] Hop|普及+
本文提出了一种解决青蛙跳跃问题的分类方案。题目要求将n片百合花上的单调递增整数序列分配给三只青蛙,确保没有青蛙能连续跳跃超过3次。核心思路是通过位运算将数值按4位一组分块,将数值区间划分为16个小块和4个中块。对于任意两个满足整除关系的数对(i,j),根据它们所在块的相同性分配颜色:同小块为红色(1),同中块不同小块为绿色(2),否则为蓝色(3)。该方案保证了青蛙的跳跃路径最多3次连续移动,符合题目要求。代码实现中通过右移4位确定块号,并据此输出分类结果。该方法有效利用了数值的指数增长特性,确保了分类方案的
2026-03-06 17:00:00
397
原创 【nim 博弈论 位运算】P7589 黑白棋(2021 CoE-II B)|普及+
本文研究了黑白棋游戏的必胜策略问题。通过分析游戏规则,发现该问题可以转化为经典的Nim博弈模型。关键性质包括:1)后退操作不影响胜负,可以忽略;2)每条直线上的棋子间距减1对应Nim游戏中的石子数;3)异或和为零时当前玩家必败,否则必胜。基于这些性质,给出了简洁的解法:计算所有直线棋子间距减1的异或和,若结果非零则Alice必胜,否则必败。该解法时间复杂度为O(n),适用于大规模数据。
2026-03-06 07:00:00
1190
50
原创 【数论】P9034 「KDOI-04」Again Counting Set|普及+
本文研究了集合计数问题,给出了满足特定条件的整数集合数量的计算方法。通过分析集合的最小值、最大值和mex等性质,推导出当k=2时有1种解,当k≥4时解的数量与n和k的关系式。代码实现了基于数学推导的快速计算,能够处理大规模输入数据(n,k≤10^18)。测试样例验证了算法的正确性,展示了不同n和k组合下的计算结果。该算法通过分类讨论和数学公式直接计算答案,避免了暴力枚举,具有较高的时间效率。
2026-03-05 07:00:00
381
4
原创 【容斥原理】P9118 [春季测试 2023] 幂次|普及+
题目摘要:给定正整数n和k,统计1到n中能表示为a^b形式(a,b为正整数且b≥k)的数的个数。当k=1时所有数都符合;k≥2时需要特殊处理。关键点包括:1) 幂次上限为64(防止溢出);2) 使用容斥原理避免重复计数;3) 处理精度问题(如pow计算时的取整);4) 分情况处理k=2和k≥3的情况。样例展示了不同k值下的结果差异。
2026-03-04 16:45:00
376
1
喜缺全书算法册 C++实现
2023-09-17
喜缺全书之平凡的经历最新版
2023-08-18
朴素迪氏最短单源路径的原理及C++源码及测试用例
2023-09-30
01BFS最短距离原理和C++实现
2023-09-29
深度优先搜索(BFS)的原理和C++实现
2023-09-28
美丽塔单调栈O(n)解法
2023-09-27
较难算法: 美丽塔 时间复杂度O(nlongn)
2023-09-24
让数组不相等的最小总代价
2023-09-23
《闻缺陷则喜》之《主册》
2022-09-10
二分查找旋转数组源码和视频
2023-08-20
简单的C#类 生成对应的C#类
2021-11-07
保存文件的同时删除文件,保存用时会略微升高
2021-10-11
多线程样例一 读写参数文件
2021-09-09
精通或熟练:软件架构、C++、C#、图形学(CAD开发、机器视觉)疯狂复习:计算几何、高等数学、线性代数
2025-09-27
亲士CAD工具箱支持CAD2013及以上
2026-01-02
本博文算法对应源码单元测试用例
2024-07-05
本博客配套流程图,会经常更新
2024-04-24
搜索矩阵C++实现:二分查找Z形查找
2023-12-17
长度最短的子数组C++实现
2023-12-10
[二分查找双指针]LeetCode881: 救生艇
2023-12-03
两数之和 - 输入有序数组
2023-11-26
C++二分查找算法:132 模式
2023-11-12
C++算法:第 N 位数字原理、源码、测试用例
2023-11-05
C++二分查找算法应用:最长递增子序列 原理、源码、测试用例
2023-10-29
二分应用:峰值查找 原理、源码、测试用例
2023-10-22
C++算法:前缀和基础
2023-10-15
时间复杂度O(40n*n)的C++算法:修改图中的边权
2023-10-14
多源最短路径的原理及C++实现
2023-10-04
堆优化迪氏最短单源路径原理及C++实现
2023-10-03
.有向图计数优化版原理及C++实现
2023-10-02
有向图访问计数的原理及C++实现
2023-10-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅