CF1612G

题目大意: 给你一个数组 C = [C1,C2…Cm] 和 一个数组a,但是数组a需要自己通过数组c去组合,数组a中有C1个1,C2个2,… Cm个m,定义一个式子在这里插入图片描述
现在求f(a)最大的值是多少并且求出有多少种a数组可以实现这样子最大值,答案 mod1e9+7 m∈(1,5e5), ci∈(1,1e6)

对于有X个相同的数我们进行一个价值分析,假设他们的下标为 b1,b2…bn,那么产生的价值为如下式子
在这里插入图片描述

我们发现对于第一个下标为n的常数是(n - 1),下标为n-1的常数为n - 3,下标为n - 2的常数为n - 5以此类推下标为1的常数为1 - n,那么对于每个Ci我们都可以抽离出这样的常数,我们把这些常数记录下来对于价值进行一个求解

由于我们对于a数组来说下标是1~n所以我们可以贪心的去求一个最大值
求完最大值后我们如何求有多少个数组能求得这个最大值
首先我们思考,假设常数X有CNT个,这些常数运用a数组的下标假设是 [Y- CNT + 1,Y],我们发现这些数无论给哪个常数X用都可以所以我们要乘以CNT!除此之外对于每个Ci=1的情况需要特殊判断,因为Ci产生的价值是为0的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值