发布时间:2026/7/26 7:14:50
DeepSeek    LeetCode 3700. 锯齿形数组的总数 II Rust实现 rustimpl Solution {const MOD: i64 1_000_000_007;pub fn zig_zag_arrays(n: i32, l: i32, r: i32) - i32 {let m (r - l 1) as usize;let size 2 * m;// 构建转移矩阵 T (size x size)let mut t vec![0i64; size * size];for i in 0..m {// newUp[i] sum(down[0..i-1])for j in 0..i {t[i * size (m j)] 1;}// newDown[i] sum(up[i1..m-1])for j in (i 1)..m {t[(m i) * size j] 1;}}// 初始向量 v (长度为1时所有位置都为1)let v vec![1i64; size];// 计算 T^(n-1) * vlet exp n - 1;let result_vec Self::mat_pow_vec(t, exp as usize, v, size);let ans result_vec.iter().fold(0, |acc, x| (acc x) % Self::MOD);ans as i32}// 计算 A^exp * vfn mat_pow_vec(a: [i64], exp: usize, v: [i64], size: usize) - Veci64 {// 单位矩阵let mut result vec![0i64; size * size];for i in 0..size {result[i * size i] 1;}let mut base a.to_vec();let mut e exp;while e 0 {if e 1 1 {result Self::mat_mul(result, base, size);}e 1;if e 0 {base Self::mat_mul(base, base, size);}}// 矩阵 × 向量let mut res_vec vec![0i64; size];for i in 0..size {let mut sum 0i64;let row_start i * size;for j in 0..size {sum (sum result[row_start j] * v[j]) % Self::MOD;}res_vec[i] sum;}res_vec}// 矩阵乘法 (size x size)行优先存储fn mat_mul(a: [i64], b: [i64], size: usize) - Veci64 {let mut c vec![0i64; size * size];for i in 0..size {let a_row_start i * size;let c_row_start i * size;for k in 0..size {let aik a[a_row_start k];if aik 0 {continue;}let b_row_start k * size;for j in 0..size {c[c_row_start j] (c[c_row_start j] aik * b[b_row_start j]) % Self::MOD;}}}c}}复杂度分析· 时间复杂度O((2m)^3 \log n)其中 m r-l1 \le 75矩阵大小 150快速幂约 30 次乘法。· 空间复杂度O(m^2)。关键说明1. 状态向量前 m 个为 up后 m 个为 down。2. 转移矩阵· T[i][mj] 1当 j i上升状态累加下降的较小值· T[mi][j] 1当 j i下降状态累加上升的较大值3. 初始向量长度为 1 时每个值都单独成数组up 和 down 都为 1。4. 快速幂矩阵乘法使用 ikj 顺序跳过零元素优化性能。5. 取模所有运算在 i64 范围内完成每次乘法后取模防止溢出。示例验证rust// n3, l1, r3 - 10// n3, l4, r5 - 2

相关新闻

2026/7/26 7:14:50

第 27 轮崩了:AI Agent 长对话降本 70% 的 7 大上下文工程技术

客户在线等着,Agent 报了 prompt_too_long,会话中断。 这不是极端场景。一个中等复杂度的客服 Agent,加上工具调用、RAG 召回、用户上传的截图 OCR,跑 25 轮上下文就能从 8K token 涨到 118K——再多两轮,直接撞墙。 …

2026/7/26 7:09:50

涂胶显影设备 技术经理|18维度详细完整版简历能力综述

1. 底层理论与专业储备 深耕半导体涂胶显影设备垂直赛道多年,构建了覆盖设备结构、精密控制、光刻工艺、制程良率的全维度底层理论体系,精通8/12英寸晶圆、先进封装、功率器件、LCD/OLED面板等多场景光刻涂布、软烘、硬烘、曝光、显影全制程核心机理。熟练掌握纳米级光刻胶薄…

2026/7/26 7:09:50

C++实现B-tree:从原理到工程实践,掌握数据库索引核心数据结构

1. 项目概述:为什么我们需要亲手实现一个B-tree?如果你写过C,尤其是接触过数据库、文件系统或者需要处理海量磁盘数据的场景,那你大概率听说过B-tree。教科书上把它描述为一种“自平衡的树状数据结构”,用于在磁盘等直…

2026/7/26 7:54:54

C++头文件与宏冲突:从编译原理到工程实践的根治方案

1. 项目概述:C开发中的“幽灵”问题如果你用C写过稍微复杂点的项目,尤其是那种集成了多个第三方库或者模块比较多的,大概率遇到过一种让人抓狂的报错:编译时突然蹦出一堆看不懂的“重定义”、“未定义”或者语法错误,但…

2026/7/26 7:54:54

SSA优化BP神经网络在工业预测中的应用

1. 项目概述 在工业预测领域,BP神经网络因其强大的非线性拟合能力而被广泛应用。然而传统BP神经网络存在初始权重敏感、易陷入局部最优等问题。本文将介绍一种基于麻雀搜索算法(SSA)优化的BP神经网络(SSA-BPNN)方法,并以电厂运行数据为例展示其优越性能。…

2026/7/26 7:54:54

三维空间感知技术在工业安全监管中的应用

1. 项目背景与核心价值在传统工业安全监管领域,二维平面的人员统计方式已经暴露出明显局限性。我们团队在实地调研中发现,某大型石化园区2022年的安全报告显示,超过60%的作业区违规事件源于传统监控系统无法准确识别人员的空间位置关系。这正…

2026/7/26 7:54:54

LLM Weekly(2026.7.13-2026.7.19)

😎 网络新闻 Kimi K3:月之暗面发布规模最大的开源权重模型。 月之暗面推出 Kimi K3,这是一个 2.8 万亿参数的稀疏 MoE 模型,支持 100 万 token 上下文,并采用 Kimi Delta Attention。其 896 个专家中每个 token 仅激活 16 个,推理成本保持在每百万 tokens $3/$15。在独…

2026/7/26 7:54:54

基于SHAP的轴承故障诊断模型可解释性分析

1. 项目概述 轴承故障诊断一直是工业设备健康监测中的关键课题。作为一名长期从事工业AI应用的工程师,我经常遇到这样的困境:虽然机器学习模型能够达到不错的分类准确率,但运维人员往往对"黑箱"模型持怀疑态度,不敢将诊…

2026/7/26 7:49:54

LangChain智能体开发中的数据反馈格式设计实践

1. 项目概述:LangChain智能体开发中的数据反馈挑战在构建基于LangChain的智能体时,数据反馈格式的设计往往成为开发者最容易忽视却影响深远的环节。去年我们团队在开发客服自动化系统时,曾因反馈格式不规范导致整个对话状态管理失控——智能体…

2026/7/26 0:03:36

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

2026/7/26 0:03:36

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

2026/7/26 2:45:59

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…