自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Git GitHub Gitee

是一个免费、开源的分布式版本控制系统。版本控制:一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。它最重要的就是可以记录文件修改历史记录,从而让用户可以看历史版本,方便版本切换。

2025-06-02 18:31:43 1315

原创 字符串哈希

计算第i个字符的哈希 hash(i)=hash(i-1)*p+s[i-1](下标从0开始)它在字符串匹配、滚动哈希(Rabin-Karp 算法)、字典树优化等场景中非常有用。字符串哈希是一种将字符串映射为整数的技术,常用于。PP 是进制数(通常取 131 或 13331)。(P 通常取质数,如 131 或 13331)。为了快速计算任意子串的哈希值,可以预处理。可以高效求解最长回文子串。MM 是模数(通常取。

2025-04-04 15:22:35 453

原创 第十五届蓝桥杯研究生组C++省赛

小蓝正在数轴上挖矿,数轴上一共有 n 个矿洞,第 i 个矿洞的坐标为 ai​。小蓝从 0 出发,每次可以向左或向右移动 1 的距离,当路过一个矿洞时,就会进行挖矿作业,获得 1 单位矿石,但一个矿洞不能被多次挖掘。小蓝想知道在移动距离不超过 m 的前提下,最多能获得多少单位矿石?

2025-04-01 20:44:14 257

原创 第十五届蓝桥杯蓝桥杯研究生组C++省赛

小蓝想制作一个吊坠,他手上有 n个长度为 m 的首尾相连的环形字符串 {s1,s2,⋯,sn},他想用 n−1 条边将这 n 个字符串连接起来做成吊坠,要求所有的字符串连完后形成一个整体。连接两个字符串 si,sj的边的边权为这两个字符串的最长公共子串的长度(可以按环形旋转改变起始位置,但不能翻转),小蓝希望连完后的这 n−1 条边的边权和最大,这样的吊坠他觉得最好看,请计算最大的边权和是多少。

2025-04-01 19:50:22 304

原创 第十五届蓝桥杯研究生C++组省赛

在蓝桥王国,数字的大小不仅仅取决于它们的数值大小,还取决于它们所形成的“封闭图形”的个数。封闭图形是指数字中完全封闭的空间,例如数字 1、2、3、5、7都没有形成封闭图形,而数字 0、4、6、9 分别形成了 1个封闭图形,数字 8 则形成了 2个封闭图形。值得注意的是,封闭图形的个数是可以累加的。例如,对于数字 68,由于 6 形成了 1个封闭图形,而 8 形成了 2个,所以 68 形成的封闭图形的个数总共为 3。在比较两个数的大小时,如果它们的封闭图形个数不同,那么封闭图形个数较多的数更大。

2025-04-01 18:21:17 395

原创 蓝桥杯备赛-置换群算法

初始有k个环 最终想变成n个环,每次操作,最多增加一个环。因此最少需要n-k次操作才可以把k个环变成n个环。而且只要其中环内有大于等于两个的点,那必然可以把它交换一下,分成两个环。(1)情况1:交换同一个环内的点 =》交换完 会裂开 变成两个环。交换瓶子,对环的影响其实是把两个箭头的方向改变一下。(2)情况2:交换两个不同环中点 =》将两个环合并。初始的时候若干个环,最终状态应该变成n个自环。每个瓶子向它应该在的位置连一条边。暴力-选择排序(AC)

2025-03-22 11:40:04 398

原创 故障诊断--深入研究CWRU数据集

通过在轴承上人为制造故障,采集了多种故障类型和不同故障尺寸的振动数据。该数据集包括正常状态和多种故障状态下的轴承振动信号。数据负载条件指的是数据采集时设备或者系统所承受的工作负荷或外部施加的力/功率。比如,在故障诊断中,负载条件可能指电机输出的扭矩或者功率,不同负载导致轴承振动信号的变化。数据采集时 电机的负载分为四种:0马力(空载)、1马力、2马力、3马力。:故障直径分别为0.007英寸、0.014英寸、0.021英寸和0.028英寸。轴承在无故障状态下的振动信号。:包括内圈故障、外圈故障和滚动体故障。

2025-03-15 11:05:30 1439

原创 第十三届蓝桥杯研究生组C++省赛

有一根围绕原点 O 顺时针旋转的棒 OA,初始时指向正上方(Y 轴正向)。在平面中有若干物件,第 i个物件的坐标为 (xi,yi),价值为 zi。当棒扫到某个物件时,棒的长度会瞬间增长 zi,且物件瞬间消失(棒的顶端恰好碰到物件也视为扫到),如果此时增长完的棒又额外碰到了其他物件,也按上述方式消去(它和上述那个点视为同时消失)。如果将物件按照消失的时间排序,则每个物件有一个排名,同时消失的物件排名相同,请输出每个物件的排名,如果物件永远不会消失则输出 −1。所有物品坐标两两不同。

2025-03-14 13:36:41 572

原创 第十三届蓝桥杯C++研究生组省赛

给定两个不同的正整数 a,b,求一个正整数 k 使得 gcd(a+k,b+k)尽可能大,其中 gcd(a,b)表示 a和 b的最大公约数,如果存在多个 k,请输出所有满足条件的 k 中最小的那个。

2025-03-13 15:29:20 252

原创 第十三届蓝桥杯C++组研究生省赛

给定一个长度为 n 的数列 A1,A2,⋅⋅⋅,An和一个非负整数 x,给定 m 次查询,每次询问能否从某个区间 [l,r] 中选择使得他们的异或等于 x。

2025-03-13 11:02:50 497

原创 第十四届蓝桥杯c++研究生组省赛

在本题中,扫描线是从左到右,也就是沿x从小到大的方向去移动。每个节点拆分成两个事件点,左边节点(i索引为正)代表节点的起始位置,右边节点代表节点的结束位置。事件点按照斜率从小到大排序。核心思想是通过一条虚拟的扫描线(水平或垂直)在平面上移动,动态维护扫描线与几何对象的交点或覆盖情况。1.斜率排序(见上文章)

2025-03-11 17:46:29 125

原创 蓝桥杯算法-斜率排序

核心思想是通过计算点或线段相对于某个参考点的斜率,并按斜率大小进行排序,从而将几何问题转化为排序问题。通过斜率排序,可以将点或线段按照它们与参考点的连线角度从小到大(或从大到小)排列。判断射线是否与其他几何对象相交,可以通过斜率排序快速筛选出可能相交的对象。选择一个参考点(如点光源或坐标系原点),计算其他点相对于该参考点的斜率。斜率排序可以用于构建凸包。判断线段是否被点光源照亮,可以通过斜率排序确定线段的可见性。计算每条线段的左端点和右端点相对于点光源的斜率。计算其他点相对于参考点的斜率,并按斜率排序。

2025-03-10 18:54:29 263

原创 备赛16届蓝桥-博弈论

一种操作方式,让对手变成必败态怎么操作,对手都会变成必胜态关于博弈论的题,思维一般都有跳跃性,可以猜,然后去验证。贝茜和埃尔茜正在使用一个石子堆进行一个游戏,初始时,石子堆中共有 S 个石子。两头奶牛依次行动,贝茜先行动。当轮到一头奶牛行动时,她必须从堆中取走 x 个石子,其中 x 是该奶牛选定的任意正整数回文数。如果当一头奶牛的回合开始时石子堆是空的,那么这头奶牛就输了。定义:一个正整数如果从前向后和从后向前读相同,则该数为回文数;回文数的例子有 1,121 和 9009。

2025-03-09 19:17:49 321

原创 第16届蓝桥杯备赛-差分

农夫约翰有 N块草地排成一行,其中草地 ii 的细菌水平与健康草的细菌水平相差ai。例如,如果 ai=−3,则草地 i的细菌水平比正常水平低 3,需要额外添加3 个单位的细菌才能将其提高到被认为是健康的程度。农夫约翰想要确保每一块草地都被修复至健康的细菌水平。方便的是,他有两种品牌的农药可以喷洒在他的田地里,一种可以添加细菌,另一种可以去除细菌。当农夫约翰喷洒任一类型的农药时,他站在草地 N(最右边的草地)并为他的喷雾器选择功率等级 LL(1≤L≤N)。

2025-03-09 18:20:23 518

原创 第十四届蓝桥杯c++研究生组省赛

初始有一个空的 01 串,每步操作可以将 0或 1添加在左侧或右侧。也可以对整个串进行反异或操作:取 s′=s⊕rev(s),其中 s 是目前的 01 串,⊕ 表示逐位异或,rev(s) 代表将 s 翻转,也就是说取中心位置并交换所有对称的两个位置的字符。例如,rev(0101)=1010,rev(010)=010,rev(0011)=1100。反异或操作最多使用一次(可以不用,也可以用一次)。给定一个 01 串 T,问最少需要添加多少个 1才能从一个空 01 串得到 T。

2025-03-09 15:37:53 308

原创 第十四届蓝桥杯c++研究生组省赛

因为状态设计是保存最后四位数字,每次添加新的数字e到末尾,状态变化为 a b c d->b c d e。所以初始化对于长度为1的数字,只用关注d位就好,前面的三位用0占位。假设长度为。

2025-03-09 11:35:20 1431

原创 第十四届蓝桥杯大赛软件赛省赛C/C++ 研究生组

但题目是n个Ai,不能保证每一个都可以合并,所以如果能合并就合并,这样m就是每次+1变大的,否则,就说明到头了,直接输出即可。)的因数的最大的 m 是多少。表示 m 的阶乘,即 1×2×3×⋯×m。第二行包含 n个整数,分别表示 Ai​,相邻整数之间使用一个空格分隔。,就可以转换成n/(k+1)个(k+1)!给定 n个数 Ai,问能满足m!输入的第一行包含一个整数 n。输出一行包含一个整数表示答案。

2025-03-08 10:03:19 302

原创 第十四届蓝桥杯大赛软件赛省赛C/C++ 研究生组

给定一棵包含 nn 个结点的完全 mm 叉树,结点按从根到叶、从左到右的顺序依次编号。例如下图是一个拥有 11 个结点的完全 3 叉树。接下来 TT 行,每行包含三个整数 nn,mm,kk,表示一组询问。(2)由于数据规模较大,递归导致栈溢出。所以需要优化,避免该问题。输出 TT 行,每行包含一个整数表示对应询问的答案。你需要求出第 k个结点对应的子树拥有的结点数量。输入的第一行包含一个整数 TT,表示询问次数。(1)初始代码,(过了50%)

2025-03-07 19:42:14 491

原创 第十五届蓝桥杯c++研究生组省赛

累加法仪式 A(n)A(n) 是将从 11 到 nn 的所有数字进行累加求和,即:A(n)=1+2+⋯+nA(n)=1+2+⋯+n累乘法仪式 B(n)B(n) 则是将从 11 到 nn 的所有数字进行累乘求积,即:B(n)=1×2×⋯×nB(n)=1×2×⋯×n据说,当某个数字 ii 满足 A(i)−B(i)A(i)−B(i) 能被 100100 整除时,数学精灵就会被召唤出来。这道题如果直接算,会超时,本质上是找规律的。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

2025-03-06 19:51:18 179

原创 第十五届蓝桥杯研究生省赛C++组

他将森林中的植物品种关系抽象成了一棵包含 nn 个节点的树,节点的编号从 11 到 nn,代表不同的植物品种。其中,树的根节点编号为 ss,节点 ii(1≤i≤n1≤i≤n) 的生命力表示为 aiai​。植物的生命力会影响其下级品种的生长。具体地,如果下级品种的生命力数值无法被上级品种的生命力数值整除,或者下级品种的生命力数值大于上级品种的生命力数值时,它们便会受到压制,无法茁壮成长。假设在第k层 即最后有k个零 c[x]表示的是(x-z^k,x]这个区间的和 =》(x-lowbit(x),x]

2025-03-06 18:52:36 932

原创 第十五届蓝桥杯C++研究生组省赛

小蓝有一棵树,树中包含 NN 个结点,编号为 0,1,2,⋯,N−10,1,2,⋯,N−1,其中每个结点上都有一个整数 XiXi​。第三行包含 NN 个整数 F1,F2,⋯,FNF1​,F2​,⋯,FN​,相邻整数之间使用一个空格分隔,其中第 ii 个整数表示 ii 的父结点编号,Fi=−1Fi​=−1 表示结点 ii 没有父结点。第二行包含 NN 个整数 X1,X2,⋯,XNX1​,X2​,⋯,XN​,相邻整数之间使用一个空格分隔。请问小蓝可以获得的最大分数是多少?(二)tirm树优化。

2025-03-05 19:28:49 528

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除