题目描述
小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨。
股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N。在疯涨的K天中小T观察到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天 的股价之差)不会超过M,M为正整数。并且这些参数满足m×(k−1)<n。小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能。
题解:
因为直接从每天的股价看不方便,故从每天股价与前一天股价的差来看,记为a。如果第一天后面的数没有N的上界,则答案为nm^(k-1),考虑如何减去其中不合法的方案数。若直接从a来看,考虑其上界,还是不好计算,故换一个角度:因为合法与不合法,以及第一天的范围,只与a的总和有关,而由第一天的范围可知方案数,即对于每一个a的和为s的方案,它对答案的贡献都应减去s(第一个天不能超过n-s),那么考虑每一位数的贡献,即为m(m+1)/2*m ^ (k-2),再乘上个k即可。