- 博客(1207)
- 资源 (6)
- 收藏
- 关注
原创 统计分配
第3组(最后8个字母,即第19-26位):每个字母按3次,总次数贡献为 (vec[25] - vec[17]) * 3 (这8个的总出现次数 × 3)。- 首先,我们的目标是让出现次数多的字母尽可能放在按键的第1位(按1次),次多的放第2位(按2次),最少的放第3位(按3次)。- 第2组(接下来9个字母,即第10-18位):每个字母按2次,总次数贡献为 (vec[17] - vec[8]) * 2。“高频字母优先放低位(少按次数)”的策略,结合前缀和&998 快速计算不同组的总次数。
2025-11-24 16:25:57
319
原创 hash|回溯
输入:picture = [["W","W","B"],["W","B","W"],["B","W","W"]]解释:全部三个 'B' 都是黑色的孤独像素。
2025-11-24 11:05:19
100
原创 [CUDA#8] GPU Performance Analysis | NVIDIA Nsight(GUI)
文章摘要: 本文介绍了GPU性能优化的核心方法论,通过矩阵-向量运算案例展示了三个优化版本。关键要点包括:1)GPU性能优化的三大目标(高效内存利用、充分并行化、消除瓶颈);2)NVIDIA推荐的性能分析循环流程(分析-确定瓶颈-优化);3)占用率对性能的影响;4)从CPU基准版本到GPU优化版本的演进过程,逐步改进内存访问模式和归约算法。文章强调优秀的GPU代码是通过持续分析和迭代优化产生的,而非一次性编写完成。
2025-11-23 22:00:58
832
原创 bfs|栈
BFS结合距离记录机制,沿四个方向滚动到底的方式探索迷宫路径。dist数组维护各位置最短距离,仅当新路径更短时更新入队。// 沿当前方向滚动到底。
2025-11-23 17:17:31
280
原创 二维前缀和|dp
利用组合数公式统计以该字符为两端的子串数量,最终求和得到同端子串总数。预处理每个位置前26个字符的前缀出现次数,对每个查询区间。同端子串的数量+二维前缀和。
2025-11-23 13:46:02
119
原创 [CUDA#7] Concurrency | Streams
本文介绍了CUDA编程中利用流(Stream)实现任务并行的优化方法。通过将GPU数据处理流程分解为多个独立任务流,可以实现主机与设备间的异步数据传输和内核计算的并行执行,显著提升整体性能。关键点包括:1) 使用页锁定内存(pinned memory)加速数据传输;2) 创建多个CUDA流实现任务并行;3) 通过异步API(cudaMemcpyAsync等)实现不同流的并发操作。文中通过代码示例展示了如何将数据拷贝和内核计算分配到不同流中执行,利用cudaStreamSynchronize进行同步控制。这种
2025-11-22 21:42:34
1255
原创 [Manim] CameraFrame(Mobject) | 渲染与交互loop | ShaderWrapper
掌握摄像机系统后,我们将深入渲染与交互循环,解析Manim的帧生成机制与交互控制
2025-11-22 21:32:52
654
原创 [Manim] 数学动画引擎 | Quick Start | Example
Manim是一个专为**数学可视化**设计的**强大动画引擎**允许用户在**场景**(主画布)上==定义称为**Mobjects**的*可视化元素*==,通过**动画**进行动态展示,最终将这些动画渲染成视频。该系统包含以下核心组件:1. **摄像机系统** - 控制观察视角2. **着色器封装器** - 实现高效GPU渲染3. **配置系统** - 提供灵活的自定义选项4. **渲染与交互循环** - 驱动整个动画流程
2025-11-22 21:02:59
938
原创 数位dp|组合数学|差分emplace
条件变了:比如“数位和是偶数”,就把 pre 改成“前几位的数位和的奇偶性”,然后判断最终和是否为偶。- 进制变了:比如十进制题目,就把拆数逻辑改成 %10 和 /10 , up 改成9即可。
2025-11-21 22:24:35
303
原创 [CUDA#6] Managed Memory | 异构编程
CUDA统一内存技术(Unified Memory)通过cudaMallocManaged实现了CPU与GPU内存的统一管理,简化了异构编程中的内存操作。该技术具有以下特点:1)支持超量内存分配,允许GPU访问超过显存容量的数据;2)自动按需迁移内存页,优化数据访问效率;3)Pascal+架构支持系统级原子操作和细粒度内存管理。开发者可通过cudaMemAdvise和cudaMemPrefetchAsync等API进行性能调优。该技术特别适合处理链表、图结构等复杂数据,使深拷贝操作变得简单高效,大幅提升了异
2025-11-21 21:29:30
1009
原创 建图bfs|lca|string
return -1;// 题目保证有解,不会走到这。// 计算p到LCA的距离和q到LCA的距离之和。// 计算节点node到目标值target的距离。// BFS找最短路径。// 找到最近公共祖先。// 构建图的邻接表。// 找最近公共祖先。1.建图bfs求两点间距离。2.后序dfs lca写法。可以很快的反应出两种解法。
2025-11-21 19:52:13
412
原创 01背包|栈dp
/ 中间没有字符,无法形成长度为3的回文。改用 unordered_set 来统计中间区域的不同字符,在这里其实时间复杂度还低些。
2025-11-21 08:35:14
245
原创 [CUDA#4] CUDA Optimization | 内存架构 | 矩阵转置
内核启动配置(足够线程和线程块隐藏延迟、满载 GPU)、全局内存(最大化吞吐量)、合理使用共享内存及基于分析的优化方法
2025-11-20 21:30:24
1047
原创 二分+hash|前后缀分解+栈dp
/ 未出现,将字符串放入容器。// mid为当前所取的字符串长度。if (seen.count(s.substr(i, mid))) { // 出现重复字符串。// set,用来检验字符串是否重复。while (left < right) { // 二分查找。
2025-11-20 21:11:59
319
原创 交并集贪心
lc757public:= b[1]?});++i) {continue;res += 1;} else {res += 2;return res;
2025-11-20 09:40:12
139
原创 [CUDA#3] CUDA Optimization | TensorCore
NVIDIA GPU架构演进及其优化技术,重点分析了Kepler、Maxwell、Pascal和Volta架构的核心特点。Kepler架构采用SMX单元设计,而Maxwell/Pascal架构则优化为SMM单元,大幅提升了能效比。特别值得注意的是Volta架构引入了革命性的TensorCore,专为AI矩阵运算优化,通过并行化矩阵乘法运算使AI训练效率提升数十倍,成为推动深度学习发展的关键硬件创新。文章还详细对比了各代GPU的硬件规格(如核心数量、内存配置等),为CUDA编程提供了底层架构参考。
2025-11-19 21:47:10
886
原创 x86_Assembly Language(Midterm exam review)
机器语言是计算机CPU唯一能直接识别和执行的、由0和1代码构成的最底层指令集而机器语言程序就是用这些二进制指令编写的、可被计算机直接运行的指令序列。
2025-11-19 21:32:21
821
原创 bitset mark dp|贪心
lc1774原始dppublic:--i)i <= 20000;++i)ans = i;return ans;
2025-11-19 18:27:35
284
原创 区间覆盖_搭桥贪心
维护当前可跳区间 [left, right] ,每次在区间内找到能跳到的最远位置 right ,更新区间并计数,直到覆盖数组末尾,得到最少跳跃次数。=0) // 增加空判断,避免越界。// 判断是否完全覆盖。if(clips[i][0] > b) // 无法衔接,返回-1。// 记录当前最大终点。if(b >= time) // 已覆盖目标时间。// 初始化为0,从起点开始。// 找到当前能覆盖的最大终点。
2025-11-19 16:48:23
332
原创 高维状态机dp|环形dp
3. 推导状态转移方程:第 i 行第 j 列的最小成本,等于上一行所有列 k 到当前列的成本(上一行成本+移动成本+当前格值)的最小值,即。2. 确定初始状态:第一行无需移动, dp[0][j] 直接等于网格第一行对应位置的值 grid[0][j]1. 定义DP状态: dp[i][j] 表示从网格第一行走到第 i 行第 j 列的最小路径成本。5. 确定最终结果:最后一行所有列的最小路径成本中,最小值即为整个网格的最小路径成本。bfs和floyd tle麻了,想到dp了🤡🖐🏻。
2025-11-18 22:28:48
425
原创 py期中实验选题:实现天气预测
借助Python的cv2、numpy等库处理雷达回波图像序列,用光流法计算回波的运动矢量,模拟回波的移动趋势,进而外推后续是否会出现降雨对应的回波特征,以此判断是否下雨,常用于临近降水预报。,训练模型学习数据中的规律,训练完成后输入待预测时段的相关数据,模型就会输出是否下雨的预测结果。生成天气序列,通过初始天气状态和矩阵随机推导后续是否下雨,代码简单但精度较低。先定义晴天、阴天、雨天的转移概率矩阵(比如晴天转雨天概率0.05),再用。基于雷达回波光流法 :适配短时降水预测。(明天极限ddl做 😭🖐🏻。
2025-11-18 22:09:14
399
原创 [CUDA#2] Thread | Shared Memory
本文介绍了CUDA编程中共享内存与线程同步的关键技术。重点讲解了1D Stencil(一维模板)计算,通过将数据从全局内存缓存到共享内存(shared),配合线程同步(__syncthreads()),实现对数组元素邻域和的高效并行计算。文章详细说明了如何利用block和thread索引公式实现并行计算,并通过协作组(Cooperative Groups)实现更灵活的线程同步。最后对比了共享内存与缓存的性能特点,指出Volta架构下共享内存性能显著提升。这些技术在物理模拟、深度学习等领域具有重要应用价值。
2025-11-18 21:48:29
1286
原创 dp找规律
题解更精髓的写法class Solution {public: double largestSumOfAverages(vector<int>& A, int K) { /* 状态:数组A的每个元素,分割为K个相邻的数组 选择:枚举所有分割k的可能性,分割成k份 == 分割成k-1份+最后一份 */ vector<double> sum(A.size()+1,0.0); vector<ve
2025-11-18 14:50:18
416
原创 stringstream|getline
输入:s = "(a)(a)(a)aaa", knowledge = [["a","yes"]]输出:"yesyesyesaaa"
2025-11-18 09:52:06
293
原创 [CUDA#1]Introduction to CUDA C++
摘要:本文系统介绍了CPU与GPU协同计算的关键机制,重点阐述了CUDA架构下异构编程的核心技术。内容涵盖:1)CPU/GPU内存管理与数据传输流程;2)CUDA内核函数定义与并行执行原理;3)设备端向量加法的完整实现过程,包括内存分配、数据传输、内核启动(通过blockIdx.x/threadIdx.x实现不同粒度的并行)及资源释放;4)深入对比块级与线程级并行的特性差异及适用场景。文章完整呈现了CUDA编程模型从基础概念到实践应用的技术链条,为理解GPU并行计算提供系统框架。
2025-11-17 21:04:06
734
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
70