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

P9836 种树

容易想到分解因数。

对于一个数 p p p 的因数个数,假设它可以被分解质因数成 a 1 i 1 a 2 i 2 a 3 i 3 ⋯ a k c k a_1^{i_1} a_2^{i_2} a_3^{i_3}\cdots a_k^{c_k} a1i1a2i2a3i3akck 的形式,则其因数个数为 ( i 1 + 1 ) ( i 2 + 1 ) ( i 3 + 1 ) ⋯ ( i k + 1 ) (i_1+1)(i_2+1)(i_3+1)\cdots(i_k+1) (i1+1)(i2+1)(i3+1)(ik+1)

我们对序列 p p p w w w 质因数分解之后再考虑这个问题。对于每次从 w w w 拆分出的一个质因子 A A A,我们假设一棵树 p i p_i pi,原来它的贡献为 x x x,对于该棵树高的质因数拆分中质因子 A A A 的出现次数为 t t t,则乘上该质因子之后它的贡献会变为 x ⋅ t + 2 t + 1 x\cdot \dfrac{t+2}{t+1} xt+1t+2,容易证明分子越小即 t t t 越小对答案的贡献越大。

由于数据范围是 1 0 4 10^4 104,质因数的上界是很有限的。设 a ( i , j ) a(i,j) a(i,j) 表示 i j i^j ij 在所有树高的质因数拆分中出现了多少次,每一次取到的一个 w w w 的质因子 A A A,把它计算到当前存在且 k k k 最小的 A k A^k Ak 上即可。

注意筛 n n n 的质因数要筛到 n n n

#include <bits/stdc++.h>
using namespace std;
#define int long longconst int maxn=1e4+5;
int a[maxn][30],ans=1,p[maxn],mod=998244353,n,w;void calc(int x)
{for(int i=2;i<=max(x,w);i++){int cnt=0;while(x%i==0) x/=i,cnt++;a[i][cnt]++;ans=ans*(cnt+1)%mod;// cout<<cnt<<endl;}
}signed main()
{cin>>n>>w;for(int i=1;i<=n;i++) cin>>p[i],calc(p[i]);// for(int i=1;i<=n;i++) cout<<a[i][1]<<endl;for(int A=2;A<=w;A++)while(w%A==0){int k=0;while(!a[A][k]) k++;	ans/=(k+1),ans%=mod,ans*=(k+2),ans%=mod;w/=A,a[A][k]--,a[A][k+1]++;// cout<<w<<endl;}	cout<<ans;return 0;
}

相关文章:

P9836 种树

容易想到分解因数。 对于一个数 p p p 的因数个数&#xff0c;假设它可以被分解质因数成 a 1 i 1 a 2 i 2 a 3 i 3 ⋯ a k c k a_1^{i_1} a_2^{i_2} a_3^{i_3}\cdots a_k^{c_k} a1i1​​a2i2​​a3i3​​⋯akck​​ 的形式&#xff0c;则其因数个数为 ( i 1 1 ) ( i 2 1 )…...

C# 查询腾讯云直播流是否存在的API实现

应用场景 在云考试中&#xff0c;为防止作弊行为的发生&#xff0c;会在考生端部署音视频监控系统&#xff0c;当然还有考官方监控墙系统。在实际应用中&#xff0c;考生一方至少包括两路直播流&#xff1a; &#xff08;1&#xff09;前置摄像头&#xff1a;答题的设备要求使…...

JAVA开源项目 于道前端项目 启动步骤参考

1. 安装 启动过程有9个步骤&#xff1a; 1.1 安装 Node JS , V18版本的 &#xff08;安装步骤省略&#xff09; 1.2 安装 npm install -g yarn &#xff0c;node JS里边好像自带npm &#xff0c;通过npm的命令安装 yarn 1.3 切换到项目中去安装&#xff0c;npm install &a…...

深入理解ElasticSearch分片

1. 路由计算 当索引一个文档的时候&#xff0c;文档会被存储到一个主分片中。 Elasticsearch 如何知道一个文档应该存放到哪个分片中呢&#xff1f;当我们创建文档时&#xff0c;它如何决定这个文档应当被存储在分片 1 还是分片 2 中呢&#xff1f;首先这肯定不会是随机的&…...

【Python】AppUI自动化—appium自动化元素定位、元素事件操作(17)下

文章目录 前言一.Appium 元素定位1.定位方式种类2.如何定位2.1 id定位2.2 className定位2.3 content-desc 定位2.4 Android Uiautomator定位4.1 text定位4.2 text模糊定位4.3 text正则匹配定位4.4 resourceId定位4.5 resourceId正则匹配定位4.6 className定位4.7 className正则…...

SpringBoot使用MyBatis多数据源

SpringBoot使用MyBatis多数据源 我们以 Mybatis Xml和注解两种版本为例&#xff0c;给大家展示如何如何配置多数据源。 1、注解方式 数据库文件&#xff1a; DROP TABLE IF EXISTS users; CREATE TABLE users (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键id,userN…...

小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核

小程序版本审核未通过&#xff0c;需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path&#xff0c;请设置后再提交代码审核 因小程序尚未发布&#xff0c;订单中心不能正常打开查看&#xff0c;请先发布小程序后再提交订单中心PATH申请 初次提交…...

Netty入门指南之NIO Selector监管

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言问题解…...

Spring Cloud学习(六)【统一网关 Gateway】

文章目录 网关的功能搭建网关服务路由断言工厂Route Predicate Factory路由过滤器 GatewayFilter过滤器执行顺序跨域问题处理 网关的功能 网关功能&#xff1a; 身份认证和权限校验服务路由、负载均衡请求限流 在SpringCloud中网关的实现包括两种&#xff1a; gatewayzuul …...

基于单片机的空调智能控制器的设计

**单片机设计介绍&#xff0c;基于单片机的空调智能控制器的设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的空调智能控制器需要具备输入输出端口、定时器、计数器等模块&#xff0c;以便对空调进行精确控制。下…...

Spring Boot自动配置原理、实战、手撕自动装配源码

Spring Boot自动配置原理 相比较于传统的 Spring 应用&#xff0c;搭建一个 SpringBoot 应用&#xff0c;我们只需要引入一个注解 SpringBootApplication&#xff0c;就可以成功运行。 前面四个不用说&#xff0c;是定义一个注解所必须的&#xff0c;关键就在于后面三个注解&a…...

111111111111111

全局锁 就是对整个数据库进行加锁&#xff0c;加锁之后整个数据库就处于只读状态&#xff0c;后续的DML写语句&#xff0c;DDL语句&#xff0c;以及对更新事务的提交操作都会被阻塞&#xff0c;典型地使用场景就是做整个数据库的逻辑备份&#xff0c;对所有的表进行锁定&#x…...

React动态生成二维码和毫米(mm)单位转像素(px)单位

一、使用qrcode.react生成二维码&#xff0c;qrcode.react - npm 很简单&#xff0c;安装依赖包&#xff0c;然后引用就行了 npm install qrcode.react或者 yarn add qrcode.react直接上写好的代码 import React, {useEffect, useState} from react; import QRCode from qr…...

SpringMvc 常见面试题

1、SpringMvc概述 1.1、什么是Spring MVC &#xff1f;简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架&#xff0c;通过把Model&#xff0c;View&#xff0c;Controller分离&#xff0c;将web层进行职责解耦&am…...

jmeter接口自动化测试工具在企业开展实际的操作

在企业使用jmeter开展实际的接口自动化测试工具&#xff0c;建议按如下操作流程&#xff0c; 可以使整个接口测试过程更规范&#xff0c;更有效。 接口自动化的流程&#xff1a; 1、获取到接口文档&#xff1a;swagger、word、excel ... 2、熟悉接口文档然后设计测试用例&am…...

第17章 反射机制

通过本章需要理解反射机制操作的意义以及Class类的作用&#xff0c;掌握反射对象实例化操作&#xff0c;并且可以深刻理解反射机制与工厂模式结合意义。掌握类结构反射操作的实现&#xff0c;并且可以通过反射实现类中构造方法、普通方法、成员属性的操作。掌握反射机制与简单J…...

如何在在线Excel文档中对数据进行统计

本次我们将用zOffice表格的公式与数据透视表分析样例&#xff08;三个班级的学生成绩&#xff09;。zOffice表格内置了大量和Excel相同的统计公式&#xff0c;可以进行各种常见的统计分析&#xff0c;如平均值、标准差、相关性等。同时&#xff0c;zOffice也有数据透视表功能&a…...

redis配置文件详解

一、配置文件位置 以配置文件启动 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf ( Windows名为redis.windows. conf) 例: # 这里要改成你自己的安装目录 cd ./redis-6.0.8 vim redis.conf redis对配置文件对大小写不敏感 二、配置文件 1、获取当前服务的…...

前端设计模式之【工厂模式】

文章目录 前言什么时候不用介绍工厂模式的流程例子优点缺陷后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;前端设计模式 &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。…...

Python与ArcGIS系列(一)ArcGIS中使用Python

目录 0 简述1 arcgis中的python窗口2 开始编写代码 0 简述 按照惯例&#xff0c;作为本系列专栏的第一篇&#xff0c;先简单地介绍下本系列文章的内容&#xff1a;通过python语言创建arcgis环境脚本、将脚本以工具箱形式存放在arcgis中、通过脚本自动执行地理处理、数据修复、…...

Windows超级管理器:8MB小工具竟能替代10款软件?实测22项隐藏功能

Windows超级管理器&#xff1a;8MB小工具竟能替代10款软件&#xff1f;实测22项隐藏功能 每次打开Windows电脑&#xff0c;桌面上总堆满各种功能单一的小工具——内存清理、启动项管理、文件粉碎……每个软件都占着宝贵的存储空间&#xff0c;运行时还偷偷吃内存。直到发现这款…...

gte-base-zh部署教程:Ansible自动化批量部署Xinference集群

gte-base-zh部署教程&#xff1a;Ansible自动化批量部署Xinference集群 1. 项目概述与准备工作 gte-base-zh是由阿里巴巴达摩院训练的中文文本嵌入模型&#xff0c;基于BERT框架构建。这个模型在大规模相关文本对语料库上进行训练&#xff0c;涵盖了广泛的领域和场景&#xf…...

YOLOv10效果实测分享:高空航拍、低光照监控场景表现

YOLOv10效果实测分享&#xff1a;高空航拍、低光照监控场景表现 目标检测技术正从实验室走向真实世界的复杂战场。无论是百米高空无人机传回的模糊画面&#xff0c;还是深夜监控摄像头捕捉到的微弱人影&#xff0c;这些极端场景都在考验着模型的“视力”极限。传统模型往往在这…...

Simpro4.1仿真效率翻倍:巧用“提取链接”和IO信号,快速配置KUKA机器人夹具

Simpro4.1仿真效率翻倍&#xff1a;巧用“提取链接”和IO信号&#xff0c;快速配置KUKA机器人夹具 在工业机器人仿真领域&#xff0c;时间就是金钱。每次项目周期压缩或频繁更换末端执行器时&#xff0c;传统的手动配置流程往往成为效率瓶颈。今天我们将深入探讨如何利用Simpro…...

从传统互联网到AI Agent:薪资涨幅有多夸张

第一&#xff0c;也是最重要的&#xff0c;别光看书、别光听课&#xff0c;你得动手干出一个东西来&#xff1b; 如果实在不知道咋整&#xff0c;能够直接抄知学堂新出的 「AILLM使用研发」 &#xff0c;里面很多实战项目case&#xff0c;自己跟着教程做写到简历里&#xff0c;…...

Flutter 三方库 get\_it + injectable 的鸿蒙化适配指南:实现优雅的依赖注入

Flutter 三方库 get_it injectable 的鸿蒙化适配指南&#xff1a;实现优雅的依赖注入 欢迎加入开源鸿蒙跨平台社区&#xff1a;https://openharmonycrossplatform.csdn.net 大家好呀&#xff01;&#x1f338; 今天要和大家分享一个超级实用的Flutter开发技巧——如何将 get_i…...

Python FastAPI 异步请求调度逻辑

Python FastAPI 异步请求调度逻辑解析 在当今高并发的互联网应用中&#xff0c;异步编程已成为提升性能的关键技术。Python的FastAPI框架凭借其原生支持异步请求处理的能力&#xff0c;成为开发高效API的热门选择。本文将深入探讨FastAPI的异步请求调度逻辑&#xff0c;帮助开…...

FireRed-OCR Studio惊艳效果展示:复杂表格+公式精准还原实录

FireRed-OCR Studio惊艳效果展示&#xff1a;复杂表格公式精准还原实录 1. 工业级文档解析新标杆 在数字化办公时代&#xff0c;我们每天都要处理大量纸质文档和PDF文件。传统OCR工具往往只能识别文字内容&#xff0c;遇到复杂表格、数学公式或特殊排版时就会束手无策。FireR…...

(二十二)32天GPU测试从入门到精通-DeepSeek 模型测试day20

目录 引言DeepSeek 模型介绍架构特点推理性能测试中文场景优化与其他模型对比实战部署选型建议 引言 DeepSeek 是中国深度求索公司开发的大语言模型系列&#xff0c;以出色的中文能力和高性价比著称&#xff0c;是国产大模型的代表之一。从 2023 年的第一代 DeepSeek LLM&…...

2026届最火的降重复率方案推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术研究范畴之内&#xff0c;论文AI网站已然成了提升写作效率的关键工具&#xff0c;这种…...