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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/200306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

伯俊软件CTO陈雨陆:R3全渠道业务中台的OceanBase落地实践

11 月 16 日,OceanBase 在京顺利举办 2023 年度发布会,正式宣布:将持续践行“一体化”产品战略,为关键业务负载打造一体化数据库。其中,“数字化转型升级实践专场”我们有幸邀请到伯俊软件 CTO 陈雨陆进行《OceanBase …

从Intel Cyclone10GX TransceiverPHY 高速收发器认识ATX PLL、FPLL、CMU PLL等PLL

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 在使用Intel Cyclone10GX TransceiverPHY的过程中发现这个IP还是比较复杂的,特别是时钟系统,提到了多种PLL:ATX PLL、FPLL、CMU PLL,这里进行一下扩展学…

LoadBalancer将服务暴露到外部实现负载均衡metallb-layer2模式配置介绍

目录 一.metallb简介 1.支持多种负载均衡协议 2.支持自定义 IP 地址范围 3.无需额外的硬件设备 4.易于安装和配置 5.可扩展性强 6.layer2模式下选举的leader节点压力大 二.layer2模式配置演示 1.开启ipvs并开启严格ARP模式 2.下载并应用metallb 3.创建一个 IPAddres…

用友U8 Cloud RegisterServlet SQL注入漏洞复现

0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 Cloud RegisterServlet接口处存在SQL注入漏洞,未授权的攻击者可通过此漏洞获取数据库权限,从而盗取用户数据,造成用户信息泄露。 …

2023年甘肃省职业院校技能大赛(中职教师组)网络安全竞赛样题(四)

2023年甘肃省职业院校技能大赛(中职教师组) 网络安全竞赛样题(四) (总分1000分) 目录 模块A 基础设施设置与安全加固 A-1任务一 登录安全加固(Windows) A-2任务二 本地安全策略…

搭建React项目,基于Vite+React+TS+ESLint+Prettier+Husky+Commitlint

基于ViteReactTSESLintPrettierHuskyCommitlint搭建React项目 node: 20.10.0 一、创建项目 安装包管理器pnpm npm i pnpm -g基于Vite创建项目 pnpm create vitelatest web-gis-react --template react-ts进入项目目录安装依赖 $ cd web-gis-react $ pnpm i启动项目 $ pnpm…

【开题报告】基于SpringBoot的文学鉴赏平台的设计与实现

1.选题背景 随着互联网的普及和文学教育的重视,人们对文学作品的阅读和交流需求逐渐增加。传统的纸质书籍已经不能完全满足人们多样化的阅读需求,因此基于互联网的文学鉴赏平台应运而生。这样的平台通过提供文学作品的展示、评论和交流功能,…

ARM64安全特性之SMAP

ARM64 SMAP(Supervisor Mode Access Prevention)是一种安全扩展,用于在ARM64架构中限制特权模式下的内存访问。它的目的是防止特权模式下的恶意软件或漏洞利用程序访问受限内存区域,从而提高系统的安全性。 SMAP的主要原理是通过…

new Promise用法

promise要解决的问题 回调函数问题 问题一:回调函数多层嵌套调用(回调地狱) 问题二:每次回调的结果存在成功或失败的可能性 使用 promise 解决 解决问题一:promise 通过 .then 实现链式调用 解决问题二:p…

Python的海龟 turtle 库使用详细介绍(画任意多边形,全网最详细)

学Turtle库,其实就是学数学,而且还能提高对数学和学习的兴趣。Turtle库还能够帮助孩子更好地理解几何学和数学概念,比如角度、比例、几何图形的性质等等,是Python中一个很有趣的库。 前言 Turtle库是Python中一个很有趣的库&…

Web开发-问题-前后端交互数据不一致

0x01 问题描述 所用的技术:VueSpring Boot后端传给前端数据: [Student(studentId1, personorg.fatmansoft.teach.models.Person4abe6020, major软件工程, className一班, grade一年级), Student(studentId2, personorg.fatmansoft.teach.models.Person…

百元开放式蓝牙耳机哪款好、热门高性价比开放式推荐

在众多耳机类型中,开放式耳机正逐渐崭露头角。它们融合了音质和佩戴舒适性,能给你带来全新的佩戴感受。这些耳机不仅提供高品质的音响体验,还让你能够在户外佩戴欣赏音乐的同时保持对周围环境的感知,更加安全、保障。 在本文中&a…

字符数组和字符串例题2

1、回文字符串 题目描述 给定一个字符串,长度不超过100,判断它是否是回文串。例如: aba, abcba是回文, abc, xyy 不是回文。 输入要求 输入一个字符串,由小写字母组成 输出要求 若是回文输出Yes,否则输出No 输入样例 abcb…

IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Mybatis核心配置详解

第一章 Mybatis核心配置详解【mybatis-config.xml】 1.1 核心配置文件概述 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 1.2 核心配置文件根标签 没有实际语义,主要作用:所有子标签均需要设置在跟标签内部 1.3 核心配置文件…

Lambda表达式与方法引用

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 引子 先来看一个案例 …

RPC基础

RPC基础知识 RPC 是什么? RPC(Remote Procedure Call) 即远程过程调用,通过名字我们就能看出 RPC 关注的是远程调用而非本地调用。 为什么要 RPC ? 因为,两个不同的服务器上的服务提供的方法不在一个内存空间&…

Hadoop学习笔记(HDP)-Part.07 安装MySQL

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

无人机停机坪的主要功能有哪些

随着无人机行业领域的不断完善,无人机停机坪作为一项关键基础设施,正发挥着越来越重要的作用。无人机停机坪也叫无人机机巢、无人机机库、无人机机场。无人机停机坪不仅是无人机的“家”,更是其高效运行的关键环节。让我们一同探索无人机停机…

1+X Web 前端开发职业技能等级证书模拟题(中级)理论知识

1X Web 前端开发职业技能等级证书模拟题(中级)理论知识 一、单项选择题 在 Bootstrap 中,可以使用 navbar-header 类的情况是() A 为整个页面添加一个标题 B 为导航栏添加一个标题 C 为导航栏 添加头部 D 为整个页面添…

js对象转换为数组的两种方法

第一种方法: Object.values(obj) 示例: var obj { name: 张三, age: 18}; console.log( Object.values(obj) ); // [张三, 18]第二种方法: for-in循环 示例: var obj { name: 张三, age: 18}; var arr []; for(let i in obj) …