当前位置: 首页 > news >正文

leetcode:统计感冒序列的数目【数学题:组合数含逆元模版】

1. 题目截图

在这里插入图片描述

2.题目分析

需要把其分为多个段进行填充
长为k的段,从两端往中间填充的方案数有2 ** (k - 1)种
组合数就是选哪几个数填哪几个段即可

3.组合数含逆元模版

MOD = 1_000_000_007
MX = 100_000# 组合数模板
fac = [0] * MX
fac[0] = 1
for i in range(1, MX):fac[i] = fac[i - 1] * i % MODinv_fac = [0] * MX
inv_fac[MX - 1] = pow(fac[MX - 1], -1, MOD)
for i in range(MX - 1, 0, -1):inv_fac[i - 1] = inv_fac[i] * i % MODdef comb(n: int, k: int) -> int: # 啥时候填return fac[n] * inv_fac[k] % MOD * inv_fac[n - k] % MOD

ac code

MOD = 1_000_000_007
MX = 100_000# 组合数模板
fac = [0] * MX
fac[0] = 1
for i in range(1, MX):fac[i] = fac[i - 1] * i % MODinv_fac = [0] * MX
inv_fac[MX - 1] = pow(fac[MX - 1], -1, MOD)
for i in range(MX - 1, 0, -1):inv_fac[i - 1] = inv_fac[i] * i % MODdef comb(n: int, k: int) -> int: # 啥时候填return fac[n] * inv_fac[k] % MOD * inv_fac[n - k] % MODclass Solution:def numberOfSequence(self, n: int, a: List[int]) -> int:m = len(a)total = n - mans = comb(total, a[0]) * comb(total - a[0], n - a[-1] - 1) % MODtotal -= a[0] + n - a[-1] - 1e = 0for p, q in pairwise(a):k = q - p - 1if k:e += k - 1 # 长度为k的连续序列填满的种数有2 ** (k - 1)ans = ans * comb(total, k) % MODtotal -= kreturn ans * pow(2, e, MOD) % MOD

相关文章:

leetcode:统计感冒序列的数目【数学题:组合数含逆元模版】

1. 题目截图 2.题目分析 需要把其分为多个段进行填充 长为k的段,从两端往中间填充的方案数有2 ** (k - 1)种 组合数就是选哪几个数填哪几个段即可 3.组合数含逆元模版 MOD 1_000_000_007 MX 100_000# 组合数模板 fac [0] * MX fac[0] 1 for i in range(1, MX…...

外贸建站平台工具推荐?做海洋建站的平台?

外贸建站平台用哪个比较好?独立站建站系统如何选择? 随着全球市场的竞争日益激烈,如何通过互联网渠道展示企业形象、吸引客户成为外贸企业亟待解决的问题。海洋建站将为大家介绍几款优秀的外贸建站平台工具,助力企业在数字化时代…...

【智能家居】三、添加语音识别模块的串口读取功能点

语音识别模块SU-03T 串口通信线程控制代码 inputCommand.h(输入控制指令)voiceControl.c(语音控制模块指令)main.c(主函数)编译运行结果 语音识别模块SU-03T AI智能语音识别模块离线语音控制模块语音识别…...

物联网开发(一)新版Onenet 基础配置

onenet新创建的账号,没有了多协议接入,只有新的物联网开放平台 第一讲,先给大家讲一下:新版Onenet 基础配置 创建产品 产品开发-->创建产品 产品的品类选择个:大致符合你项目的即可,没有影响 选择智…...

qt/c/c++文件操作总结

1. 读取文件 1.1 Qt以二进制方式读取大文件返回char* 在Qt中以二进制模式读取一个大文件(以500MB为例)并将其内容存储到char*数组中,需要谨慎处理内存分配。以下是实现这一功能的步骤和示例代码: 1. 打开文件 使用QFile类以二进制模式打开文件。 2. 检查文件大小 使用…...

表示你的shell未被正确配置以使用conda activate--换成清华源anaconda

1 CommandNotFoundError: Your shell has not been properly configured to use conda activate. If using conda activate from a batch script, change your invocation to CALL conda.bat activate.To initialize your shell, run$ conda init <SHELL_NAME>这个错误提…...

VT-MRPA1-151-1X/V0/0控制2FRE16模块式模拟放大器

适用于控制带有电气位置反馈的直动式比例减压阀&#xff08;DBETR- 1X 类型&#xff09;或带有电气位置反馈的比例流量控制阀&#xff08;2FRE... 类型&#xff09;&#xff1b;控制值输入 1 0 V&#xff08;差动输入&#xff09;&#xff1b; 可分别调节“上/下”斜坡时间的斜…...

无需公网IP实现公网远程访问本地WebDAV服务

windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】 文章目录 windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访…...

远程服务器QEMU+Ubuntu+GRUB+VNC最佳实践

远程服务器QEMUUbuntuGRUBVNC最佳实践 1. 准备2. QEMU启动安装Ubuntu2.1 服务器端2.2 本地端 3. 从服务器终端控制虚拟机GRUB与虚拟机终端 这段时间参与大量内核切换测试工作&#xff0c;实体机需要硬件自检太过笨重&#xff0c;因此主要通过QEMU验证正确性。有一个很大的问题是…...

macbook电脑运行缓慢和卡顿内存怎么清理了?

假如你还在为“你的系统内存不足”的提示所困扰&#xff0c;或者你的Mac电脑突然运行缓慢和卡顿&#xff0c;那么你一般需要认真了解一下macbook内存怎么清理了? MacBook是功能强大的电脑&#xff0c;这点毫无疑问&#xff0c;但是它仍旧会随着时间推移变得运行缓慢。值得庆幸…...

优化用户直播体验:第三方美颜SDK的前沿技术

当下&#xff0c;用户对于直播体验的要求日益提高&#xff0c;其中之一的重要方面就是实时美颜效果。第三方美颜SDK为直播平台和应用提供了强大的美颜功能&#xff0c;极大地改善了用户的直播观感。 一、背景与发展 过去&#xff0c;直播中的美颜往往依赖于主播或用户自行调整…...

UE4/UE5 材质实现带框环形进度条

UE4/UE5 材质实现带框环形进度条 此处使用版本&#xff1a;UE4.27 原理&#xff1a;大圆减小圆可以得到圆环&#xff0c;大圆环减小圆环&#xff0c;可以得到圆环外围线框 实现效果&#xff1a; 实现&#xff08;为了给大家放进一张面前能看的图&#xff0c;我费劲了心思&…...

Docker 环境中 Spring Boot 应用的 Arthas 故障排查与性能优化实战

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…...

Django 用户验证与权限管理

Django是一款强大且灵活的Python Web框架,不仅在构建功能复杂的网站应用中表现出色,还在诸如用户验证、权限管理等细微之处提供了优秀的解决方案。在多用户、权限复杂的Web应用中,认证和权限管理尤其重要。接下来,我们就来探究一下Django如何处理用户验证和权限管理的。 用…...

二手物品交易系统源码小程序H5闲置物品转让APP成品

这是一个二手物品交易系统的基本功能介绍&#xff0c;以下是对每个功能的详细解释&#xff1a; 商品发布&#xff1a;卖家可以通过系统发布二手商品信息&#xff0c;包括商品详情、价格、图片等。商品展示&#xff1a;系统会将所有发布的二手商品进行展示&#xff0c;买家可以…...

Linux库之动态库静态库

一、什么是库&#xff08;Library&#xff09; 二、库的分类 三、静态库、动态库优缺点 四、静态库的制作和使用 五、动态库的制作和使用 SO-NAME–解决主版本号之间的兼容问题 基于符号的版本机制 共享库系统路径 共享库的查找过程 有用的环境变量 gcc 编译器常用选项 Linux共…...

xilinx系列FPGA基于VIVADO的pin delay列表生成说明

目录 1 概述2 示例平台3 操作说明4 注意事项 xilinx系列FPGA基于VIVADO的pin delay列表生成说明 1 概述 本文用于讲诉xilinx系列FPGA基于VIVADO的pin delay列表生成说明&#xff0c;以及一些注意事项&#xff0c;为FPGA设计人员探明道路。 Pin delay 即FPGA内部die到pin的延时…...

1.vue学习笔记(vue简介+API风格+开发前的准备)

1.介绍 1.一款用于构建用户页面的JavaScript框架 2.基于HTML、CSS、JavaScript 3.官方文档&#xff1a;cn.vuejs.org2.渐进式框架 1.注重灵活性/可被逐步集成 根据需求场景&#xff1a;1.无需构建步骤&#xff0c;渐进式增强静态的HTML2.在任何页面中作为Web Components嵌入&…...

树莓派学习:学习opencv+用opencv获取树莓派mjpg摄像头视频流

目录 前提步骤 打开树莓派摄像头 查看是否有图像&#xff0c;登录游览器打开树莓派IP地址的8080端口 获取mjpg的视频流url 代码 先设定好mjpg的视频流的url 利用opencv库中的v2.VideoCapture类读取mjpg视频流 cv2.VideoCapture() 检查摄像头是否成功打开&#xff0c;…...

探索Playwright的现代自动化测试力量

在当今数字化时代&#xff0c;Web应用程序的质量和稳定性对于企业的成功至关重要。为了确保Web应用程序的无缝运行&#xff0c;自动化测试工具成为了开发人员和测试团队的重要工具。多年来&#xff0c;Selenium一直是自动化测试的黄金标准&#xff0c;然而&#xff0c;在不久前…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...