自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 传智杯省赛第二场个人题解记录——或许要期待明天

先简单说一下题目意思:首先输入输出,T组测试。每组一个n,表示有一个长度为n的数组接下来就是输入这个数组。**将这个数组的所有非空子数组按位或之后求和(结果很大需要取模),再输出即可。首先想到的就是枚举所有子数组,再位或,最后求和。但是很明显一个枚举子数组就已经n2的时间复杂度了。包超时的其实在二进制下每一位的位或都是相互独立的(在这一位上有一个是1就都是1)。那我们就可以转变一下思路,选择枚举每一位。那问题来了,需要枚举多少位呢?答案是30(0-29)位即可那么就是找。

2026-05-12 16:45:13 42

原创 中介设计模式

想象一个场景:有n个人在一起聊天,如果其中一个人发信息了,其它人要收到信息。那么如何将n个人相互连接一起呢?最简单的做法就是一个人与其它(n-1)个人保持联系,那么将会有n(n-1)个关系,复杂无比。那么接下来就是引入中介模式了。中介模式好比一台交换机,只要所有用户和它连接就可以通过这台交换机来转播信息。那它需要什么方法呢?首先想到的就是发送信息方法。其次它怎么知道有哪些用户连接它,所以它还有一个注册用户的方法那么再想一下这个这个方法是给客户端用的吗?很明显第二个参数是User。

2026-05-10 12:22:36 256

原创 适配器设计模式

当你在做一款播放器的时候,想到视频格式大家都不统一,有mp4、AVI、FLV各种各样的格式。你作为开发不能只面对一种格式开发,要兼顾各种各样的格式,还要考虑未来可能添加的视频格式。那你肯定想到了为每个视频格式创建一个类,那你的代码会到处new对象。但是如果后面的接口要添加,就会动Adapter类中的代码。,用Adapter类继承,后续添加接口,直接改接口类,降低了代码的耦合性。**注意:适配器中new了所有被适配对象,需要在析构函数中释放内存。

2026-05-09 11:42:02 174

原创 工厂方法模式

那工厂只负责生产一个产品吗?如果是,那就太鸡肋了。每种产品都有一个对应的工厂可以生产,那这些产品工厂的作用是什么?前面提到的吧,“只负责生产产品”。那它们就具有相同的成员函数(create),所以可以抽象出来一个工厂类。首先这个产品具有相同接口,一定是可以抽象的。工厂是干嘛的,生产产品的地方。所以如果产品不能抽象,那么工厂方法模式将**完全失效。所以工厂只负责生产产品,也就是new对象。最后以一个动物为产品的例子写一个工厂方法。这个生产产品接口用什么来接返回值呢?函数就是生产产品的地方,

2026-05-09 10:01:31 49

原创 c++11任务队列

本文实现了一个线程安全的单例模式任务队列,主要功能包括判断队列是否为空、添加任务、删除任务和取出任务。采用互斥锁保证线程安全,并建议在C++17环境下可改用读写锁提升效率。队列内部使用std::queue存储std::function<void()>类型的任务,通过静态成员函数getInstance()获取单例实例。各操作均通过lock_guard加锁确保线程安全,实现了基本的任务队列功能。

2026-05-08 19:50:32 29

原创 单例模式笔记总结

首先它都叫单例模式了,那它的特点就是全局只有唯一一个实例。所以这个设计模式的核心就是围绕着如何维护全局唯一实例。

2026-05-08 16:00:29 340

原创 MC0320-狠狠地对字符串做你想做的事吧

对一个字符串S ,有以下两种操作:• 将子串 01 替换为 1• 将子串 10 替换为 0总共t组数据,每组的S都是一个给定长度为n的 01 串。求每组数据中,S一共有多少个子串,能经过若干次操作,变成长度为1的字符串。

2025-08-06 13:56:48 143

原创 MC0406-最小公倍数

唐僧师徒一路西行,忽然狂风大作,烈焰冲天,四周温度骤然上升!沙僧低声道:“师父,妖气冲天,怕是红孩儿来了!”果然,前方火光四射,一个身穿红衣的孩童踏火而来,正是红孩儿!他大笑道:“想要活着过此地?必须先接下我的三昧真火试炼!” 话音未落,天空中浮现出n团炽热的火焰,每团火焰都有一个独立燃烧周期a₁,a₂,…,a_n,表示它们在经过该时间后会重新燃起,形成不灭的循环!红孩儿冷笑道:“这些火焰不会自行熄灭,只有找到一个它们共同的熄灭时刻,才能让它们同时熄灭!

2025-08-02 16:00:27 362

原创 MC0405-计算灵力值

唐僧师徒行至一座荒山,忽然狂风大作,天空瞬间阴云密布。悟空警觉地握紧金箍棒,低声道:“师父,妖气冲天,怕是白骨精又来了!” 果然,不远处一片白雾翻腾,白骨精变幻身形,施展妖法,召唤出一列神秘的魂骨灵珠。灵珠共有n颗,并按顺序从1到n编号,每颗上都刻着一个整数a1​a2​an​,其中蕴含着不同的灵力。老妖朗笑道:“此阵乃我精心布下,若想破阵,你们需从中夺取足够的灵力,否则便永远留在此地!10。

2025-08-01 16:52:38 918

原创 MC0465-夺取山寨

二龙山山脚下,杨志等人正谋划着夺取山寨。二龙山的山寨布局恰似一棵有 n 个据点(结点)的有根树,据点编号为 1∼n,主峰(根结点)编号为 1。众人得知,每个据点可安排 0∼n−1 这 n 种不同的权值(整数)。mex (u) 表示以 u 为根结点所在子树中所有结点上的权值中,没有出现过的最小自然数。杨志一脸郑重地对小码妹说道:“小码妹,你现在要好好算算∑(u=1 到 n) mex (u) 最大可能为多少,这可关系到夺寨大计的成败!” 小码妹痛快地答道:“没问题!

2025-07-25 14:33:58 461

原创 MC0461-排队

鲁智深在五台山出家后,多次酗酒闹事,搅得寺院不得安宁。长老虽有心惩戒,却也念及他的佛缘。一日,长老拿出一串佛珠,共有 n 颗,每颗佛珠上都刻着一个数字,依次排列,形成一个长度为 n 的序列 (a1​∼an​长老对鲁智深说,若能算出该序列的所有非空子序列的价值之和(对1097取模,一个序列的子序列为该序列删除任意个元素后剩下的序列),便不再追究他此前的过错。长老继续对鲁智深说,一个序列b1​∼bm​的价值定义为b1​×b2​×⋯×bm​。

2025-07-24 12:40:47 339

原创 MC0461-排队

唐僧师徒四人历经千辛万苦取得真经后,天庭决定为所有参与取经的众生灵举办一场庆功宴。1 x2 x3 x y若存在一种排队方式,使得所有生灵的要求都得到满足,请输出Y,否则输出N。

2025-07-23 14:41:33 339

原创 MC0457符咒封印

我会给你q次询问,每次询问给你两个参数l和r,你需要计算出1×al+2×al+1…+(r-l+1)×ar的和。如果答案很大,你只需要算出其对998244353取模的结果。若你能算出正确结果,便可解封符咒,助你们通过火焰山。输入格式:第一行两个整数n,g(1<n,q≤5x1e5)。第二行n个整数a1~an(1<ai<1e9)。接下来q行,每行两个整数l,r(1<l<r<n),表示q组询问。输出格式:输出q行,表示对于每次询问的答案。

2025-07-14 13:53:54 325

原创 MC0456斩断灵藤

唐僧师徒行至南天门,忽见云海中浮着天宫蟠桃园。园中有nn株蟠桃仙树,树间由n−1n−1条九转灵藤相连,构成浑然天成的周天蟠桃阵,且任意两株树都能通过九转灵藤互相到达。守园力士喝道:“如果想拿到琼浆,必须按照要求分园!分园法则如下:可斩断若干条灵藤(也可维持原状),将桃园划分为若干连通块区域,每片区域蟠桃树数不得超过mm。在满足上述条件的情况下,连通块区域最少的情况是什么,若能正确计算出最小区域数,则可获得琼浆。小码哥能否参透其中奥秘,为师徒取得瑶池玉露?

2025-07-13 16:01:19 324

原创 21年睿抗省赛——疫情防控(个人题解)

疫情尚未结束,严防疫情反复。为了做好疫情防控工作,国内设置了地区风险等级,对于中高风险地区的人员采取限制移动、居家隔离等手段。为了研究疫情防控对于跨地区交通运输的影响,假设现在有 N 个机场,M 条航线,每天都会新增一个防控地区,一个防控地区会导致一个机场无法正常运作,航线也自然无法正常运行,每天会有 Qi​ 对旅客从 Xi​ 机场前往 Yi​ 机场,请计算有多少对旅客会受到影响无法完成行程。旅客只要能直达或通过若干次中转,且乘坐的所有航线的出发和到达机场都正常运作,即视作可完成行程。

2025-07-08 15:26:50 355

原创 gcd(最大公因数)和lcm(最小公倍数)

两个函数均使用扩展欧几里得,具体原理建议。

2025-06-16 21:48:59 695

原创 快速幂O(logn)

Ologn的时间复杂度求出一个数的x次方一般求一个数的x次方最简单的就是写一个for循环,但是时间复杂度是O(n),但是通过递归的方法实现将一个问题转换为两个小问题,比如要求24,可以先求22,最后2422∗22,可以将指数除2转换为两个乘积,那么这里就会又涉及到一个问题如果指数是奇数怎么办呢?

2025-06-16 20:53:06 750

原创 二维前缀和与二维差分

和一维差分作用一样,O1时间复杂度修改二维区间的所有值,只不过一个是对一维,一个是对二维。第一行和第一列都是0,是因为防止数组越界,减少后续代码处理。

2025-06-16 20:15:01 472

原创 一维前缀和与差分

简单来说就是当前这一项减前一项),如果敏锐的就会发现两件事情提示:建议先自己想想,这样印象更加深刻将i从0开始模拟一下,求差分数组假设有3项差分数组,对前3项求和试试nums[i-1]数组会越界,所以不需要减前一项,可以发现前3项和的后面一项可以和前面一项约掉,最终得到原数组第三项的值**差分数组的定义:cinumsii0numsi−numsi−1i0cinumsinumsi−numsi−1​i0i0​那有什么用呢??

2025-06-14 16:56:45 587

原创 进制的转换

想直接任意两个进制之间转换是有难度的,但是我们知道十进制如何转换为其它进制,也知道其它进制如何转换为十进制,我们可以通过十进制作为媒介。

2025-06-14 13:56:38 312

原创 23睿抗省赛:RC-u5 相对成功与相对失败

注意:题面内容表达纯属娱乐,与现实无关!网上常有人说:看 XX 只能度过一个相对成功/失败的人生。现在有 N 个人,已知这些人自己填写的是否参加了睿抗比赛以及是否玩手机游戏的情况,以及他们实际上的成功程度的排序顺序,请问最少有多少人在填写情况时说谎了?

2025-06-13 21:30:31 1022

原创 睿抗23年省赛:RC-u4 相对论大师

这样通过一连串推导得出一个搞笑的结论的弹幕发送者被称为“相对论大师”。现在给定一系列已有的推论,请你从给定的推论中挑选一些,组成一条类似于上面的弹幕,成为一名“相对论大师”。

2025-06-12 16:47:17 442

原创 睿抗24年省赛:RC-u4 章鱼图的判断(并查集方法)

对于无向图 G=(V,E),我们将有且只有一个环的、大于 2 个顶点的无向连通图称之为,因为其形状像是一个环(身体)带着若干个树(触手),故得名。给定一个无向图,请你判断是不是只有一个章鱼子图存在。

2025-06-10 20:53:56 458

原创 睿抗24年省赛:RC-u4 章鱼图的判断

对于无向图 G=(V,E),我们将有且只有一个环的、大于 2 个顶点的无向连通图称之为,因为其形状像是一个环(身体)带着若干个树(触手),故得名。给定一个无向图,请你判断是不是只有一个章鱼子图存在。

2025-06-09 16:04:36 551 1

原创 睿抗24年国赛:RC-u4 City 不 City—个人题解

输入第一行首先给出 4 个正整数:n 和 m(1<n≤103,1≤m≤5n),依次为城镇数量(于是城镇编号从 1 到 n)和城镇间的通路条数;s 和 t 依次为旅行者的出发地和目的地的城镇编号。随后一行给出 n 个不超过 100 的正整数,依次为 n 个城镇的旅游热度。再后面是 m 行,每行给出一条通路连接的两个城镇的编号、这条通路的最小花销(其数值为不超过 103 的正整数)。通路是双向的,题目保证任一对城镇间至多给出一条通路。同一行的数字间均以空格分隔。

2025-06-08 15:59:12 546 1

空空如也

空空如也

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

TA关注的人

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