题目大意: 给你一个数组 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的。