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

【NOIP提高组】计算系数

【NOIP提高组】计算系数

      • C语言实现
      • C++实现
      • Java实现
      • Python实现


💐The Begin💐点点关注,收藏不迷路💐

给定一个多项式 (ax + by)^k ,请求出多项式展开后 x^n y^m 项的系数。

输入

共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。

输出

输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取 模后的结果。

样例输入

1 1 3 1 2

样例输出

3

提示

【数据范围】 对于 30%的数据,有 0≤k≤10; 对于 50%的数据,有 a = 1,b = 1; 对于 100%的数据,有 0≤k≤1,000,0≤n, m≤k,且 n + m = k,0≤a,b≤1,000,000。

C语言实现

#include <stdio.h>
#include <stdlib.h>// 定义常量
#define N 1010
#define MOD 10007// 二维数组用于存储组合数
int c[N][N];// 输入参数
int a, b, k, n, m;// 快速幂函数,用于计算a的b次幂对MOD取模的结果
int qmi(int a, int b) {a %= MOD;int res = 1;while (b) {if (b & 1) {res = res * a % MOD;}b >>= 1;a = a * a % MOD;}return res;
}int main() {// 读取输入参数scanf("%d %d %d %d %d", &a, &b, &k, &n, &m);// 预处理组合数for (int i = 0; i <= k; i++) {for (int j = 0; j <= i; j++) {if (j == 0) {c[i][j] = 1;} else {c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % MOD;}}}// 根据二项式定理计算并输出结果int coefficient = c[k][n] * qmi(a, n) % MOD * qmi(b, m) % MOD;printf("%d\n", coefficient);return 0;
}

C++实现

#include <iostream>
#include <algorithm>// 定义常量
const int N = 1010;
const int MOD = 10007;// 二维数组用于存储组合数
int c[N][N];// 输入参数
int a, b, k, n, m;// 快速幂函数,用于计算a的b次幂对MOD取模的结果
int qmi(int a, int b) {a %= MOD;int res = 1;while (b) {if (b & 1) {res = res * a % MOD;}b >>= 1;a = a * a % MOD;}return res;
}int main() {// 读取输入参数std::cin >> a >> b >> k >> n >> m;// 预处理组合数for (int i = 0; i <= k; i++) {for (int j = 0; j <= i; j++) {if (j == 0) {c[i][j] = 1;} else {c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % MOD;}}}// 根据二项式定理计算并输出结果int coefficient = c[k][n] * qmi(a, n) % MOD * qmi(b, m) % MOD;std::cout << coefficient << std::endl;return 0;
}

Java实现

import java.util.Scanner;public class Main {// 定义常量static final int N = 1010;static final int MOD = 10007;// 二维数组用于存储组合数static int[][] c = new int[N][N];// 输入参数static int a, b, k, n, m;// 快速幂函数,用于计算a的b次幂对MOD取模的结果static int qmi(int a, int b) {a %= MOD;int res = 1;while (b!= 0) {if ((b & 1)!= 0) {res = res * a % MOD;}b >>= 1;a = a * a % MOD;}return res;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取输入参数a = scanner.nextInt();b = scanner.nextInt();k = scanner.nextInt();n = scanner.nextInt();m = scanner.nextInt();// 预处理组合数for (int i = 0; i <= k; i++) {for (int j = 0; j <= i; j++) {if (j == 0) {c[i][j] = 1;} else {c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % MOD;}}}// 根据二项式定理计算并输出结果int coefficient = c[k][n] * qmi(a, n) % MOD * qmi(b, m) % MOD;System.out.println(coefficient);}
}

Python实现

# 定义常量
N = 1010
MOD = 10007# 输入参数
a, b, k, n, m = map(int, input().split())# 二维列表用于存储组合数(初始化为全0)
c = [[0] * (N) for _ in range(N)]# 快速幂函数,用于计算a的b次幂对MOD取模的结果
def qmi(a, b):a %= MODres = 1while b:if b & 1:res = res * a % MODb >>= 1a = a * a % MODreturn res# 预处理组合数
for i in range(k + 1):for j in range(i + 1):if j == 0:c[i][j] = 1else:c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % MOD# 根据二项式定理计算并输出结果
coefficient = c[k][n] * qmi(a, n) % MOD * qmi(b, m) % MOD
print(coefficient)

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

相关文章:

【NOIP提高组】计算系数

【NOIP提高组】计算系数 C语言实现C实现Java实现Python实现 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 给定一个多项式 (ax by)^k &#xff0c;请求出多项式展开后 x^n y^m 项的系数。 输入 共一行&#xff0c;包含 5 个整数&#x…...

IDEA部署AI代写插件

前言 Hello大家好&#xff0c;当下是AI盛行的时代&#xff0c;好多好多东西在AI大模型的趋势下都变得非常的简单。 比如之前想画一幅风景画得先去采风&#xff0c;然后写实什么的&#xff0c;现在你只需描述出你想要的效果AI就能够根据你的描述在几分钟之内画出一幅你想要的风景…...

【阅读记录-章节1】Build a Large Language Model (From Scratch)

目录 1. Understanding large language models1.1 What is an LLM?补充介绍人工智能、机器学习和深度学习的关系机器学习 vs 深度学习传统机器学习 vs 深度学习&#xff08;以垃圾邮件分类为例&#xff09; 1.2 Applications of LLMs1.3 Stages of building and using LLMs1.4…...

微服务day08

Elasticsearch 需要安装elasticsearch和Kibana&#xff0c;应为Kibana中有一套控制台可以方便的进行操作。 安装elasticsearch 使用docker命令安装&#xff1a; docker run -d \ --name es \-e "ES_JAVA_OPTS-Xms512m -Xmx512m" \ //设置他的运行内存空间&#x…...

JAVA接入WebScoket行情接口

Java脚好用的库很多&#xff0c;开发效率一点不输Python。如果是日内策略&#xff0c;需要更实时的行情数据&#xff0c;不然策略滑点太大&#xff0c;容易跑偏结果。 之前爬行情网站提供的level1行情接口&#xff0c;实测平均更新延迟达到了6秒&#xff0c;超过10只股票并发请…...

使用Axios函数库进行网络请求的使用指南

目录 前言1. 什么是Axios2. Axios的引入方式2.1 通过CDN直接引入2.2 在模块化项目中引入 3. 使用Axios发送请求3.1 GET请求3.2 POST请求 4. Axios请求方式别名5. 使用Axios创建实例5.1 创建Axios实例5.2 使用实例发送请求 6. 使用async/await简化异步请求6.1 获取所有文章数据6…...

Vue2+ElementUI:用计算属性实现搜索框功能

前言&#xff1a; 本文代码使用vue2element UI。 输入框搜索的功能&#xff0c;可以在前端通过计算属性过滤实现&#xff0c;也可以调用后端写好的接口。本文介绍的是通过计算属性对表格数据实时过滤&#xff0c;后附完整代码&#xff0c;代码中提供的是死数据&#xff0c;可…...

抖音热门素材去哪找?优质抖音视频素材网站推荐!

是不是和我一样&#xff0c;刷抖音刷到停不下来&#xff1f;越来越多的朋友希望在抖音上创作出爆款视频&#xff0c;但苦于没有好素材。今天就来推荐几个超级实用的抖音视频素材网站&#xff0c;让你的视频内容立刻变得高大上&#xff01;这篇满是干货&#xff0c;直接上重点&a…...

spring-cache concurrentHashMap 自定义过期时间

1.自定义实现缓存构建工厂 import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap;import lombok.Getter; import lombok.Setter; import org.springframework.beans.factory.BeanNameAware; import org.springframework.beans.factory.…...

解析传统及深度学习目标检测方法的原理与具体应用之道

深度学习目标检测算法 常用的深度学习的目标检测算法及其原理和具体应用方法&#xff1a; R-CNN&#xff08;Region-based Convolutional Neural Networks&#xff09;系列1&#xff1a; 原理&#xff1a; 候选区域生成&#xff1a;R-CNN 首先使用传统的方法&#xff08;如 Se…...

shell数组

文章目录 &#x1f34a;自我介绍&#x1f34a;shell数组概述&#x1f34a;Shell数组使用方法数组的定义直接定义单元素定义 元素的获取获取单个元素获取全部元素 获取数组长度获取整个数组长度获取单个元素的长度 操作数组增加删除 关联数组 &#x1f34a; 你的点赞评论就是对博…...

高斯混合模型回归(Gaussian Mixture Model Regression,GMM回归)

高斯混合模型&#xff08;GMM&#xff09;是一种概率模型&#xff0c;它假设数据是由多个高斯分布的混合组成的。在高斯混合回归中&#xff0c;聚类与回归被结合成一个联合模型&#xff1a; 聚类部分 — 使用高斯混合模型进行聚类&#xff0c;识别数据的不同簇。回归部分 — 对…...

【3D Slicer】的小白入门使用指南八

3D Slicer DMRI(Diffusion MRI)-扩散磁共振认识和使用 0、简介 大脑解剖 ● 白质约占大脑的 45% ● 有髓神经纤维(大约10微米轴突直径) 白质探索 朱尔斯约瑟夫德杰林(Jules Joseph Dejerine,《神经中心解剖学》(巴黎,1890-1901):基于髓磷脂染色标本的神经解剖图谱)…...

【流量分析】常见webshell流量分析

免责声明&#xff1a;本文仅作分享&#xff01; 对于常见的webshell工具&#xff0c;就要知攻善防&#xff1b;后门脚本的执行导致webshell的连接&#xff0c;对于默认的脚本要了解&#xff0c;才能更清晰&#xff0c;更方便应对。 &#xff08;这里仅针对部分后门代码进行流量…...

基于树莓派的边缘端 AI 目标检测、目标跟踪、姿态估计 视频分析推理 加速方案:Hailo with ultralytics YOLOv8 YOLOv11

文件大纲 加速原理硬件安装软件安装基本设置系统升级docker 方案Demo 测试目标检测姿态估计视频分析参考文献前序树莓派文章hailo加速原理 Hailo 发布的 Raspberry Pi AI kit 加速原理,有几篇文章介绍的不错 https://ubuntu.com/blog/hackers-guide-to-the-raspberry-pi-ai-ki…...

Java在算法竞赛中的常用方法

在算法竞赛中&#xff0c;Java以其强大的标准库和高效的性能成为了众多参赛者的首选语言。本文将详细介绍Java在算法竞赛中的常用集合、字符串处理、进制转换、大数处理以及StringBuilder的使用技巧&#xff0c;帮助你在竞赛中更加得心应手。 常用集合 Java的集合框架提供了多…...

Vulnhub靶场案例渗透[10]- Momentum2

文章目录 一、靶场搭建1. 靶场描述2. 下载靶机环境3. 靶场搭建 二、渗透靶场1. 确定靶机IP2. 探测靶场开放端口及对应服务3. 扫描网络目录结构4. 代码审计5. 反弹shell6. 提权 一、靶场搭建 1. 靶场描述 - Difficulty : medium - Keywords : curl, bash, code reviewThis wor…...

Spark RDD中常用聚合算子源码层面的对比分析

在 Spark RDD 中&#xff0c;groupByKey、reduceByKey、foldByKey 和 aggregateByKey 是常用的聚合算子&#xff0c;适用于按键进行数据分组和聚合。它们的实现方式各不相同&#xff0c;涉及底层调用的函数也有区别。以下是对这些算子在源码层面的分析&#xff0c;以及每个算子…...

计算机网络 (6)物理层的基本概念

前言 计算机网络物理层是OSI模型&#xff08;开放式系统互联模型&#xff09;中的第一层&#xff0c;也是七层中的最底层&#xff0c;它涉及到计算机网络中数据的物理传输。 一、物理层的主要任务和功能 物理层的主要任务是处理物理传输介质上的原始比特流&#xff0c;确保数据…...

快速上手:Docker 安装详细教程(适用于 Windows、macOS、Linux)

### 快速上手&#xff1a;Docker 安装详细教程&#xff08;适用于 Windows、macOS、Linux&#xff09; --- Docker 是一款开源容器化平台&#xff0c;广泛应用于开发、测试和部署。本文将为您提供分步骤的 Docker 安装教程&#xff0c;涵盖 Windows、macOS 和 Linux 系统。 …...

DLSS版本管理与性能优化:智能驱动游戏体验升级的开源解决方案

DLSS版本管理与性能优化&#xff1a;智能驱动游戏体验升级的开源解决方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 当RTX 4090显卡遇上《赛博朋克2077》最新DLSS&#xff08;深度学习超级采样&#xff09;版本&a…...

AI视频生成工具ComfyUI-WanVideoWrapper零基础配置指南

AI视频生成工具ComfyUI-WanVideoWrapper零基础配置指南 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 还在为视频生成工具的复杂配置烦恼&#xff1f;想快速掌握AI视频创作却被技术门槛劝退&am…...

GIL消失后的混沌现场:共享对象修改异常、原子性丢失、引用计数溢出,一文收全7种致命报错及防御代码模板

第一章&#xff1a;GIL消失后的并发危机全景图当CPython的全局解释器锁&#xff08;GIL&#xff09;真正消失&#xff0c;Python将首次具备原生、安全的多线程并行执行能力。但这并非一劳永逸的性能飞跃&#xff0c;而是一场系统级并发范式的重构风暴——内存模型、对象生命周期…...

腾讯验证码攻防新篇:六宫格、滑块与文字识别的毫秒级破解实战

1. 腾讯验证码体系深度解析 腾讯验证码作为当前互联网安全防护的重要组成部分&#xff0c;已经发展出包括六宫格、图标点选、滑块验证和文字识别在内的多种形式。这些验证码在设计时充分考虑了人机交互的特点&#xff0c;通过视觉识别和行为分析双重机制来区分真实用户和自动化…...

OS17.【Linux】进程基础知识(1)

目录 1.浅层定义 程序和进程的区别 2.查看进程的方法 ps ajx top 查看/proc目录 ​编辑 PID 3.手动用ps查看自己运行的程序 在/proc手动查看自己运行的程序目录 杀死进程的常用方法 进程目录中的文件 cwd 理解"当前路径"的含义 4.如何管理一个进程 程…...

深入RISC-V调试模块:从硬件设计视角看DM、DTM与抽象命令的实现

RISC-V调试模块硬件架构深度解析&#xff1a;从状态机到抽象命令的工程实现 1. RISC-V调试系统的硬件架构全景 在RISC-V生态系统中&#xff0c;调试模块(Debug Module, DM)作为连接外部调试器与处理器核心的关键枢纽&#xff0c;其硬件设计直接决定了芯片的可调试性。与传统的…...

Notion-Enhancer模块注册表:扩展发现、加载和管理的完整机制

Notion-Enhancer模块注册表&#xff1a;扩展发现、加载和管理的完整机制 【免费下载链接】notion-enhancer an enhancer/customiser for the all-in-one productivity workspace notion.so 项目地址: https://gitcode.com/gh_mirrors/no/notion-enhancer Notion-Enhance…...

终极美化指南:foobar2000如何通过foobox-cn打造你的专属音乐空间?

终极美化指南&#xff1a;foobar2000如何通过foobox-cn打造你的专属音乐空间&#xff1f; 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 厌倦了千篇一律的音乐播放器界面&#xff1f;想让你的音乐体…...

OpenMVG CMake构建系统完全指南:模块化设计与依赖管理最佳实践

OpenMVG CMake构建系统完全指南&#xff1a;模块化设计与依赖管理最佳实践 【免费下载链接】openMVG open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion. 项目地址: https://gitcode.com/gh_mirrors/op/openMVG OpenMVG&am…...

淘宝任务自动化:重复性操作的智能解放方案 | 每日节省20分钟

淘宝任务自动化&#xff1a;重复性操作的智能解放方案 | 每日节省20分钟 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi …...