【JZOJ 6080】【GDOI2019模拟2019.3.23】IOer

普乐特MAM6080控制器使用说明书 普乐特MAM6080控制器带触摸显示屏,适用双变频空压机,风机变频 立即下载

Description

m种物品,第i种物品的权值为(ui+v)(ui+v)(ui+v),每种物品有无数个,一种取法的代价为所取物品权值乘积,
问取n个物品的所有不同取法的代价和,
两个取法不同当且仅当存在一种物品在两个方案中取得数量不同,

n≤1018,m≤2∗105,mo=109+7n\leq10^{18},m\leq 2*10^5,mo=10^9+7n≤1018,m≤2∗105,mo=109+7

Solution

显然的,我们要求这个东西的第n项:
∏i=1m(∑j=0(vi+u)jxj)\prod_{i=1}^m(\sum_{j=0}(vi+u)^jx^j)i=1∏m​(j=0∑​(vi+u)jxj)
生成函数写出来:
ans=[xn]∏i=1m11−(vi+u)xans=[x_n]\prod_{i=1}^m\frac{1}{1-(vi+u)x}ans=[xn​]i=1∏m​1−(vi+u)x1​
先抛出结论(下面的构造过程就是证明):存在以下等式
设pi=(vi+u)p_i=(vi+u)pi​=(vi+u)
∏i=1m11−pix=1(vx)m−1∑i=1mai1−pix\prod_{i=1}^m\frac{1}{1-p_ix}=\frac{1}{(vx)^{m-1}}\sum_{i=1}^m\frac{a_i}{1-p_ix}i=1∏m​1−pi​x1​=(vx)m−11​i=1∑m​1−pi​xai​​
其中aia_iai​为系数,

还有一个东西:1a∗1b=(1a−1b)1b−a\frac{1}{a}*\frac{1}{b}=(\frac{1}{a}-\frac{1}{b})\frac{1}{b-a}a1​∗b1​=(a1​−b1​)b−a1​

考虑增量构造,每次乘上一个11−pix\frac{1}{1-p_ix}1−pi​x1​,考虑系数aia_iai​的变化
为了方便,我们设加入第j个元素后第i位的系数为aj,ia_{j,i}aj,i​
当前我们加入第j位:
(vx)−j+1(∑i=1j−1aj−1,i1−pix)(11−pjx)(vx)^{-j+1}(\sum_{i=1}^{j-1}\frac{a_{j-1,i}}{1-p_ix})(\frac{1}{1-p_jx})(vx)−j+1(i=1∑j−1​1−pi​xaj−1,i​​)(1−pj​x1​)

(vx)−j+1∑i=1j−1(aj−1,i∗11−pix∗11−pjx)(vx)^{-j+1}\sum_{i=1}^{j-1}(a_{j-1,i}*\frac{1}{1-p_ix}*\frac{1}{1-p_jx})(vx)−j+1i=1∑j−1​(aj−1,i​∗1−pi​x1​∗1−pj​x1​)
用上面那个东西拆开:

(vx)−j+1∑i=1j−1aj−1,i(11−pix−11−pjx)(1(pi−pj)x)(vx)^{-j+1}\sum_{i=1}^{j-1}a_{j-1,i}(\frac{1}{1-p_ix}-\frac{1}{1-p_jx})(\frac{1}{(p_i-p_j)x})(vx)−j+1i=1∑j−1​aj−1,i​(1−pi​x1​−1−pj​x1​)((pi​−pj​)x1​)
把最后面的p拆开:
(vx)−j+1∑i=1j−1aj−1,i(11−pix−11−pjx)(1(i−j)vx)(vx)^{-j+1}\sum_{i=1}^{j-1}a_{j-1,i}(\frac{1}{1-p_ix}-\frac{1}{1-p_jx})(\frac{1}{(i-j)vx})(vx)−j+1i=1∑j−1​aj−1,i​(1−pi​x1​−1−pj​x1​)((i−j)vx1​)
再把最后面那个的1vx\frac{1}{vx}vx1​提到前面,并把剩下的乘进去:

(vx)−j∑i=1j−1aj−1,i−(j−i)11−pix+aj−1,i(j−i)11−pjx(vx)^{-j}\sum_{i=1}^{j-1}\frac{a_{j-1,i}}{-(j-i)}\frac{1}{1-p_ix}+\frac{a_{j-1,i}}{(j-i)}\frac{1}{1-p_jx}(vx)−ji=1∑j−1​−(j−i)aj−1,i​​1−pi​x1​+(j−i)aj−1,i​​1−pj​x1​
我们发现一开始的项又出来了,也就是aj−1a_{j-1}aj−1​与aja_jaj​之间存在以下关系:
aj,i=−1(j−i)∗aj−1,i,当i&lt;ja_{j,i}=-\frac{1}{(j-i)}*a_{j-1,i},当i&lt;jaj,i​=−(j−i)1​∗aj−1,i​,当i<j
aj,i=∑k=1j−11(j−k)∗aj−1,k,当i=ja_{j,i}=\sum_{k=1}^{j-1}\frac{1}{(j-k)}*a_{j-1,k},当i=jaj,i​=k=1∑j−1​(j−k)1​∗aj−1,k​,当i=j

我们设fi=ai,if_i=a_{i,i}fi​=ai,i​,即i这一项第一次出现时的值,有:
fi=∑j=1i−11(i−j)∗ai−1,j=∑j=1i−1fj∗(−1)i−j−1(i−j)!f_i=\sum_{j=1}^{i-1}\frac{1}{(i-j)}*a_{i-1,j}=\sum_{j=1}^{i-1}f_j*\frac{(-1)^{i-j-1}}{(i-j)!}fi​=j=1∑i−1​(i−j)1​∗ai−1,j​=j=1∑i−1​fj​∗(i−j)!(−1)i−j−1​

不难发现,f就是个卷积式,也就是:
f=f∗(∑i=1(−1)i−1i!xi)+xf=f*(\sum_{i=1}\frac{(-1)^{i-1}}{i!}x^i)+xf=f∗(i=1∑​i!(−1)i−1​xi)+x
写成生产函数的形式:(一次项记得加上)
f=f∗(1−e−x)+xf=f*(1-e^{-x})+xf=f∗(1−e−x)+x
解得:
f=xexf=xe^xf=xex
也就是:
fi=1(i−1)!f_i=\frac{1}{(i-1)!}fi​=(i−1)!1​
解出了fff剩下的就好办了,直接算即可,

1(vx)m−1∑i=1m(−1)m−i(i−1)!(m−i)!∗11−pix\frac{1}{(vx)^{m-1}}\sum_{i=1}^m\frac{(-1)^{m-i}}{(i-1)!(m-i)!}*\frac{1}{1-p_ix}(vx)m−11​i=1∑m​(i−1)!(m−i)!(−1)m−i​∗1−pi​x1​

复杂度:O(nlog⁡(109))O(n\log(10^9))O(nlog(109))

Code

#include <cstdio>
#include <algorithm>
#include <iostream>
#define fo(i,a,b) for(int i=a;i<=b;++i)
#define fod(i,a,b) for(int i=a;i>=b;--i)
#define efo(i,q) for(int i=A[q];i;i=B[i][0])
#define min(q,w) ((q)>(w)?(w):(q))
#define max(q,w) ((q)<(w)?(w):(q))
using namespace std;
typedef long long LL;
const int N=200500,mo=998244353;
int read(int &n)
{
	char ch=' ';int q=0,w=1;
	for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());
	if(ch=='-')w=-1,ch=getchar();
	for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int m,ans;
LL n,K,nw;
LL f[N];
LL jc[N],jcn[N];
LL ksm(LL q,LL w)
{
	LL ans=1;
	for(;w;w>>=1,q=q*q%mo)if(w&1)ans=ans*q%mo;
	return ans;
}
int main()
{
	freopen("ioer.in","r",stdin);
	freopen("ioer.out","w",stdout);
	int q,w,_;
	n=2e5;
	jc[0]=1;fo(i,1,n)jc[i]=jc[i-1]*i%mo;
	jcn[n]=ksm(jc[n],mo-2);fod(i,n-1,0)jcn[i]=jcn[i+1]*(i+1LL)%mo;
	read(_);
	while(_--)
	{
		scanf("%lld%d%lld%lld",&n,&m,&K,&nw);
		ans=0;
		fo(i,1,m)
		{
			nw=(nw+K)%mo;
			f[i]=jcn[i-1]*jcn[m-i]%mo*((m-i)&1?-1:1);
			ans=(ans+f[i]*ksm(nw,n+m-1))%mo;
		}
		ans=ans*ksm(ksm(K,m-1),mo-2)%mo;
		printf("%lld\n",(ans+mo)%mo);
	}
	return 0;
}
电视盒子破解 亲测中兴ZXV10 B860AV1.1 全TTL操作完美破解 立即下载

相关推荐

rhion模型

自己拉的小模型

arcgis server10.5将https改为http,6443改为6080默认端口

安装完成arcgis server后从以下几个步骤进行修改; 进入arcgisser admin登录 点击config > update,进入如下界面,按指示操作即可 点击update 等待更新 停止arcgis server服务,检查是否修改完成,按照以下步骤检查 Arcgis sever 10.3以上的安装之后,自带tomcat web服务程序,在安装路径C:\Program Files\ArcGIS\Server\framework\runtime\t...

wangyong_h 5330

i6080刷机方法

i6080刷机方法

基于cubemx的stm32f103指纹模块(AS608)

寒假这段时间自己做了个指纹锁玩,在这里写一下指纹模块的用法 一.测试 新到手的AS608模块,可以在软件中测试一下功能是否正常。 在使用这个配套软件的时候,注意要搭配TTL转串口使用,连接电源线和串口线四根就可以了,注意在测试的时候,要找对COM口和波特率 图片显示AS608完好,可以正常录入删除指纹 二.cubemx配置 查看引脚,需要在cubemx中配置串口和一个感应引脚。 串口正常打开就可以,很多例子是标准库的中断模式,这里可以用阻塞模式,所以不用配置中断. 三.代码 #include &l

qq_52207268的博客 4109

OneNET物模型实战:如何用NB-IOT模块上传JSON数据并解析

本文详细介绍了如何利用NB-IOT模块将传感器数据上传至中国移动OneNET物联网平台,并利用其物模型功能实现JSON数据的自动解析。文章从理解OneNET物模型与OneJson协议入手,逐步讲解了平台侧物模型创建、设备注册,以及设备端数据构造、HEX编码与NB-IOT模块AT指令上报的全流程,并提供了关键的调试技巧与常见问题排查方法,为物联网开发者提供了完整的实战指南。

sugar的博客 680

国宇测试盒GH7009 SPI读操作全解析:从接线到代码实现的避坑指南

本文详细解析了国宇GH7009测试盒进行SPI读操作的完整流程与避坑要点。重点阐述了硬件连接中IO2时序控制引脚的关键作用,提供了从接线方案、电源处理到上位机代码实现的实战指南,并针对常见的数据不稳定、特定寄存器读取失败等问题给出了具体解决方案。

dapp9builder的博客 223

tomcat服务器中各个目录及文件夹的含义

我们在设计Java Web项目的过程中,经常会用到tomcat服务器,所以我们也需要对tomcat有一定的了解。今天就给大家分享一下tomcat服务器下各个目录和文件夹的一些作用 这里我们以tomcat-7.0.53为例,目录结构如下: 我们可以看到一共有bin,conf,lib,logs,temp,webapps,work, 一共7个文件夹,下面来对它们分别进行介绍: (1)bin目录 该目录...

程序羊的博客 9098

国产PLC实战:用汇川Easy320搞定TCP通信,手把手教你网口转串口控制设备

本文详细解析了如何使用汇川Easy320 PLC实现TCP通信与串口控制,解决工业自动化中设备间通信协议差异问题。通过实战案例和代码示例,展示了Easy320在协议转换、数据解析和串口转发中的高效应用,帮助工程师快速掌握网口转串口控制技术。

weixin_31774841的博客 497

二、ArcGis无法建立到 localhost:6080 服务器的连接

是因为arcgis server位置的tomcat服务器没有启动,打开D:\ArcGIS\Server\framework\runtime\tomcat\bin,双击startup.sh即可启动tomcat服务器,即可访问!

panchang199266的博客 5570

信捷XD/XL系列PLC与C#通信实战:Modbus-RTU协议详解(附完整代码)

本文详细介绍了信捷XD/XL系列PLC与C#通过Modbus-RTU协议实现高效通信的实战指南。从硬件连接到软件配置,再到核心通信功能的实现与优化,提供了完整的代码示例和工业级应用建议,帮助开发者快速构建稳定的自动化通信系统。

weixin_28292761的博客 511

问题:dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

 1. 问题:Ubuntu安装软件的过程中出现依赖项的问题 “E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).” 按照指示执行如下两条命令都没有解决问题。 sudo apt-get -f install sudo apt-get --fix-broken ...

gloria_littlechi的博客 2万+

[JZOJ6080]【GDOI2019模拟2019.3.23】IOer【生成函数】【数学】

Description 有m天时间,每天可以完成任意数量的事件,第i天可以完成的事件有(ui+v)种(可以同一种完成多次) 问m天总共完成n个事件的方案数。 注意每天完成的时间是有顺序的,也就是说同一天内1,2和2,1是两种不同的方案。 T组数据。 n≤1018,m≤200000,u,v≤109,T≤5n\leq 10^{18},m\leq 200000,u,v\leq 10^9,T\leq 5n...

Never give in. 799

[网络安全提高篇] 一一九.恶意软件动态分析经典沙箱Cape的安装和基础用法详解

这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文详细介绍恶意代码静态分析经典工具Capa的基础用法,以及批量提取静态特征和ATT&CK技战术,主要是从提取的静态特征Json文件中提取关键特征。这篇文章将详细讲解动态分析沙箱Cape,其是一个开源的自动恶意软件分析系统,通过自动运行和分析恶意软件,全面分析和提取恶意软件的关键特征。本文先介绍Cape沙箱的安装和基础用法,后续随着深入再分享。基础性文章,希望对您有帮助!

杨秀璋的专栏 1万+

[jzoj 6080] [GDOI2019模拟2019.3.23] IOer 解题报告 (数学构造)

题目链接: https://jzoj.net/senior/#main/show/6080 题目: 题意: 给定$n,m,u,v$ 设$t_i=ui+v$ 求$\sum_{k_1+k_2+...+k_m=n}t_1^{k_1}t_2^{k_2}...t_m^{k_m}(k_1,k_2,...,k_m∈N)$ 算法一: 对于$m=1$的点,显然答案就是$t_1^n$,快速幂计算即...

weixin_30718391的博客 3515

【系统分析师】2025年下半年真题:案例分析-答案及详解(回忆版)

Redis相比Memcached在电商高并发场景下具有显著优势:支持持久化(RDB/AOF)、丰富数据结构(如有序集合实现排行榜)、原生支持集群和哨兵模式(高可用性)。布隆过滤器通过位数组和哈希函数预先存储所有合法订单ID,当查询请求到达时快速拦截无效ID(如伪造ID),避免其穿透缓存直接冲击数据库,从而预防缓存击穿问题。

数据知道的博客 5982

2023华为od机试【最小循环子数组】C++

2023华为od机试【最小循环子数组】C++ 给定一个由若干整数组成的数组nums,请检查数组是否是由某个子数组重复循环拼接而成,请输出这个最小的子数组。

MISAYAONE的博客 2185

名人博客和习题网站

高手的Blog 及ACM 好的网站2007-07-27 18:47http://blog.cs.swust.edu.cn/index.php?op=ViewArticle&articleId=676&blogId=68http://hi.baidu.com/gchrist/blog/item/2a89343fbd1d20ec54e723ff.htmlhttp://princetonboy.ycul

qishibo1990的专栏 2261

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

arcgis server 端口号6080和6443有啥区别

今天有同学问我这样一个问题,连接server一会儿要通过6443端口访问,一会又通过6080访问,这两个有啥区别呢。 简单来说就是6443对应https,6080对应http。有关server的端口描述参见官方文档 https://enterprise.arcgis.com/zh-cn/server/latest/install/windows/ports-used-by-arcgis-ser...

miaowumi92的博客 9133

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

解决 ArcGIS Server 10.2.2 无法打开http://localhost:6080/arcgis/manager/

今天安装了ArcGIS Server 10.2.2,但是无法打开http://localhost:6080/arcgis/manager。 皇天不负有心人,我,dahong,解决啦! 当然是看的别人给出的解决方案, 下面我来给翻译一下: 1. 如果你能打开http://localhost:6080/arcgis,那么可以进行下一步操作 2. 打开http://localhost:60...

大洪的专栏 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java-Parallel GC介绍

JVM 垃圾收集器发展历史 JDK1.8中使用jmap -heap pid上面会出现Parallel GC jmap -heap 18378 Attaching to process ID 18378, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.261-b12 using thread-local object allocation. Parallel GC w

Linux,Java,SpringBoot,Python,Lua略知一点 8537

ArcGIS Server10.1安装常见问题及解决方案

最近因为更换系统的原因,重新安装了ArcGISServer 10.1。过程中遇到了几个小问题,虽然都一一解决了,但也耗费了不少时间。这里选了两个常见的问题和解决方案一并共享出来,以供参考。 1.     Localhost:6080(:6080)无法访问 因为ArcGIS 10.1for Server 开始,Esri采用 ArcGIS Server site 架构取代之前的SOM-SO

zcc0618的专栏 6375

无法建立到http://localhost:6080/arcgis/manager/的连接

安装ArcGIS server10.1后,打开管理页面提示“无法建立到http://localhost:6080/arcgis/manager/的连接” 原因是:在ArcGIS for Server 10.1的安装目录中,都会内置一个tomcat(Program Files\ArcGIS\Server\framework\runtime\tomcat\),安装后启动该服务器。但是由于安装不...

weixin_30268071的博客 1517

鲁大师10月新机性能/流畅/久用榜:骁龙8 Gen3一鸣惊人,双十一“6系”处理器成井喷状态

今年的10月份要比往年格外热闹一些,要知道以往的双十一,都是各大手机厂商全年清库存的重要时间节点,理应是那些性价比机子、中端机和走量机的主场,然而不知道是不是今年卖的不好,想给市场一些新的刺激,身处供应链顶端的高通却不按常理出牌的,率先发布了下一代旗舰SoC——骁龙8 Gen3。充分利用了大屏、分屏的优势。与此同时,随着“双十一”购物节的启动,各厂商的新机发布节奏,也从拼实力的旗舰机,转变为了更加便宜,易走量的中端机,而中端市场一直以来都是联发科的主场,高通虽然也有产品分布,但是明显不如发哥密集。

qq_41909850的博客 3万+

GPRC 和RPC 有什么区别?GPRC和RPC的区别是什么?

RPC(Remote Procedure Call)是远程过程调用,rpc是一种协议,grpc是基于rpc协议实现的一种框架。

你有看到我的史迪熊吗. 3307

力扣第 295 场周赛:6080. 使数组按非递减顺序排列

题目: 6080. 使数组按非递减顺序排列 给你一个下标从 0 开始的整数数组 nums 。在一步操作中,移除所有满足 nums[i - 1] > nums[i] 的 nums[i] ,其中 0 < i < nums.length 。 重复执行步骤,直到 nums 变为 非递减 数组,返回所需执行的操作数。 。 示例 1: 示例 2: 提示: 1 <= nums.length <= 105 1 <= nums[i] <= 109 题目分析: 做该题时,首先想到模

qq_46470984的博客 646

[JZOJ6081]【GDOI2019模拟2019.3.23】Deadline【最小割】

Description 有n个0/1类型的任务,现在有m天来完成这些任务。 每个任务可以在若干天被完成,这些完成关系可以用数对(u,v)来表示,意思是任务u能在第v天被完成,但每天只能完成一种任务。 在做这些任务之前,需要先确定每一天完成0类还是1类任务,显然这样的确定方案有2m2^m2m种,然后你会在满足要求的情况下尽可能的多做。 现在问对于所有确定的限制方案,做的任务数的最小值。 n,m≤20...

Never give in. 381
上一篇: 一大堆常犯的错误、提醒和公式
下一篇: 【JZOJ 6087】【GDOI2019模拟2019.3.26】获取名额
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值