自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AcWing 846. 树的重心

它代表当前正在进行深度优先搜索的节点编号,函数最终会返回以该节点为根的子树包含的节点个数。,方便上层调用(比如在递归过程中,父节点需要知道子树的节点个数来进行相应的计算等情况)。的所有邻接节点(也就是它的子节点,对应以这些子节点为根的子树)。,剩余部分(也就是除了已经统计过的子树节点之外的部分)的节点个数,即。是整棵树的节点总数),然后再取这个值和之前记录的最大子树节点个数。后,得到的所有 “部分”(子树或者剩余部分)中节点个数的最大值。,取当前已得到的子树节点个数最大值与新得到的子树节点个数。

2025-02-24 20:47:42 282

原创 游戏开发语言用c++,c#,还是python?

更残酷的是,Rust正用所有权系统瓦解C++的统治,Mozilla研究显示,用Rust重写的代码内存错误下降90%。如今App Store中38%的手游诞生于C#脚本,《原神》的二次元世界在C#的协程中流转,ECS架构让C#代码跑出C++90%的性能——这是托管语言最华丽的复仇。当Unreal Engine 6用Rust重写核心模块,当C#通过.NET 8突破AOT限制,当Python借Mojo语言实现性能飞跃——这场战争永无休止,但正是这种竞争,让《GTA6》的每一帧画面都流淌着编程语言的进化史诗。

2025-02-24 20:44:16 536

原创 AcWing 846. 树的重心 (邻接表)搜索与图论

它代表当前正在进行深度优先搜索的节点编号,函数最终会返回以该节点为根的子树包含的节点个数。,方便上层调用(比如在递归过程中,父节点需要知道子树的节点个数来进行相应的计算等情况)。的所有邻接节点(也就是它的子节点,对应以这些子节点为根的子树)。,剩余部分(也就是除了已经统计过的子树节点之外的部分)的节点个数,即。是整棵树的节点总数),然后再取这个值和之前记录的最大子树节点个数。后,得到的所有 “部分”(子树或者剩余部分)中节点个数的最大值。,取当前已得到的子树节点个数最大值与新得到的子树节点个数。

2025-02-08 22:09:53 372

原创 c++ STL用法总结

unordered_set, unordered_map, unordered_multiset, unordered_multimap, 哈希表。不支持 lower_bound()/upper_bound(), 迭代器的++,--lower_bound(x) 返回大于等于x的最小的数的迭代器。(1) 输入是一个数x,删除所有x O(k + logn)upper_bound(x) 返回大于x的最小的数的迭代器。substr(起始下标,(子串长度)) 返回子串。和上面类似,增删改查的时间复杂度是 O(1)

2025-02-08 22:07:32 416

原创 回顾2024年AI领域五大里程碑事件:技术狂飙与行业重塑

**技术点评**:GPT-4o采用新型Cross-Modal Attention机制,通过参数共享层实现多模态信息的高效融合,其Tokenization效率较前代提升3.2倍。- **全模态无缝交互**:支持文本、语音、图像、视频的实时同步处理(延迟<300ms)- **动态视觉理解**:视频场景解析速度提升5倍,支持8K实时标注。- **硬件适配**:在RTX 4090实现8bit量化实时推理。- **混合推理引擎**:本地模型(Phi-3)与云端协同推理。

2025-02-07 22:46:59 975

原创 acwing c++基础算法笔记 哈希表

模拟散队列 开放寻址法 哈希表。

2025-02-07 22:41:37 1184

原创 acwing c++基础算法笔记 模拟堆 模拟散列表

堆 AcWing 839. 模拟堆维护一个集合,初始时集合为空,支持如下几种操作:I x,插入一个数 x;PM,输出当前集合中的最小值;DM,删除当前集合中的最小值(数据保证此时的最小值唯一);D k,删除第 k 个插入的数;C k x,修改第 k 个插入的数,将其变为 x;现在要进行 N 次操作,对于所有第 2 个操作,输出当前集合的最小值。输入格式第一行包含整数 N。接下来 N 行,每行包含一个操作指令,操作指令为 I x,PM,DM,D k 或 C k x 中的一种。输出格式。

2025-02-06 19:43:23 563

原创 acwing c++基础算法笔记 连通块中点的数量 堆排序

对于每个询问指令 Q1 a b,如果 a 和 b 在同一个连通块中,则输出 Yes,否则输出 No。接下来 m 行,每行包含一个操作指令,指令为 C a b,Q1 a b 或 Q2 a 中的一种。Q1 a b,询问点 a 和点 b 是否在同一个连通块中,a和 b 可能相等;函数分别找到它们所在集合的根节点,再比较这两个根节点是否相同,如果相同,说明。C a b,在点 a 和点 b 之间连一条边,a和 b 可能相等;的情况),表示要查询给定元素所在集合的大小,先通过。时,表示要进行合并集合的操作,接着通过。

2025-02-06 19:41:21 455

原创 马斯克在CES 2025的最新演讲内容总结

其核心逻辑是**通过技术突破实现人类文明的“升级”**,而非被动适应危机。根据马斯克在CES 2025的最新演讲内容(主要基于2025年1月8日至2月4日的多篇访谈整理),其核心观点涵盖人工智能、机器人技术、火星殖民、脑机接口、自动驾驶技术,以及对未来社会和人类文明的展望。- **未来3-4年**,AI将完成所有认知类任务,甚至提出人类未曾想到的解决方案,仅剩体力劳动需人类参与。- 马斯克预测,**2025年第二季度**特斯拉自动驾驶的安全性将超越人类驾驶员,最终实现“零事故”驾驶。

2025-02-05 11:37:34 8899

原创 acwing c++基础算法笔记 kmp trie 并查集

kmp AcWing 831. KMP字符串给定一个字符串 𝑆,以及一个模式串 𝑃,所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 𝑃 在字符串 𝑆 中多次作为子串出现。求出模式串 𝑃 在字符串 𝑆 中所有出现的位置的起始下标。输入格式第一行输入整数 𝑁,表示字符串 𝑃 的长度。第二行输入字符串 𝑃。第三行输入整数 𝑀,表示字符串 𝑆 的长度。第四行输入字符串 𝑆。输出格式共一行,输出所有出现位置的起始下标(下标从 0 开始计数),整数之间用空格隔开。求next数组过程(

2025-02-05 11:35:51 854

原创 acwing c++基础算法笔记(7)数据结构之栈,队列

其中,empty 操作的查询结果为 YES 或 NO,query 操作的查询结果为一个整数,表示栈顶元素的值。经过这样的操作后,队列里剩下的元素从队头到队尾就是单调递减的,所以队头元素就是当前窗口内的最大值。这样不断操作后,队列里剩下的元素从队头到队尾就是单调递增的,所以队头元素就是当前窗口内的最小值。循环的目的是让队列(模拟的)保持一种特殊的单调性,使得队头元素始终是当前窗口内的最小值。时输出当前窗口的最大值,这些操作和求最小值部分的相应操作代码是一样的,只是这里输出的是窗口内的最大值。

2025-02-04 10:24:01 654

原创 acwing c++基础算法笔记(6)数据结构之链表

单链表 AcWing 826. 单链表实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 k 个插入的数后面的数;在第 k 个插入的数后插入一个数。现在要对该链表进行 M MM 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第 k 个插入的数并不是指当前链表的第 k kk 个数。例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,…第 n 个插入的数。

2025-02-04 10:17:44 1030

原创 acwing c++基础算法笔记(5)

实际就是选择了一个足够小的数作为初始值,目的是确保这个初始值小于任何可能输入的区间的左端点值,方便后续的区间合并逻辑处理)。容器中的元素进行 “重排”,它将相邻的重复元素移到容器的末尾,并返回一个迭代器,指向去重后 “有效元素范围” 的末尾位置(也就是新的逻辑上的容器末尾位置,后面跟着的就是那些被移到末尾的重复元素了)。的别名,用于表示区间的左右端点),通过一系列的逻辑处理,将其中有重叠部分的区间合并成一个大区间,最终更新传入的区间集合,使其只包含合并后的、无重叠的区间,实现区间合并的效果。

2025-02-03 12:48:30 870

原创 acwing c++基础算法笔记(4)

法一: 使用lowbit 时间复杂度为O(nlogn),使用lowbit操作,每次操作截取一个数字的最后一个1后面的所有位,每次减去lowbit得到的数字,直到数字减到0,就得到了最终1的个数。的值输出,也就是输出找到的满足条件的两个数组元素对应的索引(这里需要注意,如果没有找到满足条件的元素组合,直接输出此时的。往后移动一位,相当于缩小窗口,去除掉重复的元素,使得当前考虑的子序列中每个元素最多只出现一次。给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。

2025-02-03 12:46:19 548

原创 acwing c++基础算法笔记(3)

入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。,用于抵消前面多减去的部分,以此完成对这次二维区间修改操作在二维差分数组上的记录,方便后续基于该二维差分数组还原出原二维数组经过多次二维区间修改后的最终状态。输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。同时声明了二维整型数组。

2025-02-03 12:43:38 550

原创 acwing c++基础算法笔记(2)

(相当于将余数左移一位,为加上被除数的下一位数字做准备,模拟竖式除法中逐位除的操作),再加上被除数。的顺序,这样可以确保在后续的计算中,始终以位数较多的数作为遍历的基准,简化了代码的逻辑。计算得到这一步运算后的余数,用于下一次循环与被除数的下一位数字继续进行除法运算。(其中每个元素按低位到高位的顺序存储整数的每一位数字)以及一个普通的非负整数。当前位的数字,得到新的临时数值(也就是当前这一步除法运算的被除数部分)。,去掉已经处理过的个位数,得到新的进位值,用于下一次循环的进位处理。而余数则通过引用参数。

2025-02-03 12:35:30 838

原创 acwing c++基础算法笔记(1)

就说明这两个元素的位置不符合划分要求(左边应该是小于等于基准的,右边应该是大于等于基准的),所以通过。),说明该区间已经有序或者只有一个元素,此时直接返回,不再进行后续的排序操作。),说明该区间已经有序或者只有一个元素,此时直接返回,不再进行后续的排序操作。是符合二分查找最后确定结果的逻辑的,因为经过不断缩小区间,最终的近似值就在。,分别表示要排序的数组区间的左边界和右边界(左闭右闭区间)。,分别表示要排序的数组区间的左边界和右边界(左闭右闭区间)。,分别表示查找区间的左端点和右端点,其目的是在闭区间。

2025-02-03 12:32:50 743 1

acwing c++课程源代码笔记

acwing c++课程源代码笔记

2024-12-01

空空如也

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

TA关注的人

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