题面

题解

设\(\{a_n\}\)为差分数组,可以得到柿子:

\[\begin{aligned}
ans &= \sum_{a_1 = 1} ^ m \sum_{a_2 = 1} ^ m \cdots \sum_{a_{k-1} = 1} ^ m (n - \sum_{i = 1} ^ {k - 1} a_i) \\
&= nm^{k - 1} - \sum_{a_1 = 1} ^ m \sum_{a_2 = 1} ^ m \cdots \sum_{a_{k - 1} = 1} ^ m \sum_{i = 1} ^ {k - 1} a_i \\
&= nm^{k - 1} - \sum_{i = 1} ^ {k - 1} \sum_{a_1 = 1} ^ m \sum_{a_2 = 1} ^ m \cdots \sum_{a_{k - 1} = 1} ^ m a_i \\
&= nm ^ {k - 1} - \sum_{i = 1} ^ {k - 1} \sum_{a_i = 1} ^ m a_i \times m ^ {k - 2} \\
&= nm ^ {k - 1} - m^{k - 2}(k - 1) \times \frac{m(m + 1)}2
\end{aligned}
\]

没了

代码

#include<cstdio>
#include<cstring>
#include<cctype>
#include<algorithm>
#define RG register
#define file(x) freopen(#x".in", "r", stdin), freopen(#x".out", "w", stdout)
#define clear(x, y) memset(x, y, sizeof(x)) inline long long read()
{
long long data = 0, w = 1; char ch = getchar();
while(ch != '-' && (!isdigit(ch))) ch = getchar();
if(ch == '-') w = -1, ch = getchar();
while(isdigit(ch)) data = data * 10 + (ch ^ 48), ch = getchar();
return data * w;
} long long N;
int n, k, m, p;
inline int Add(int x, int y) { return (x + y) % p; }
inline int Minus(int x, int y) { return (x - y + p) % p; }
inline int Mul(int x, int y) { return 1ll * x * y % p; }
inline int fastpow(int x, int y)
{
int ans = 1;
for(; y; y >>= 1, x = 1ll * x * x % p)
if(y & 1) ans = 1ll * ans * x % p;
return ans;
} inline int S(int x) { return 1ll * x * (x + 1) / 2 % p; }
int main()
{
N = read(), k = read(), m = read(), p = read();
n = N % p, k %= p, m %= p;
printf("%d\n", Minus(Mul(n, fastpow(m, k - 1)),
Mul(fastpow(m, k - 2), Mul(k - 1, S(m)))));
return 0;
}

【HNOI2013】数列的更多相关文章

  1. 【BZOJ3142】[HNOI2013]数列(组合计数)

    [BZOJ3142][HNOI2013]数列(组合计数) 题面 BZOJ 洛谷 题解 唯一考虑的就是把一段值给分配给\(k-1\)天,假设这\(k-1\)天分配好了,第\(i\)天是\(a_i\),假 ...

  2. 【BZOJ3142】[HNOI2013]数列

    [BZOJ3142][HNOI2013]数列 题面 洛谷 bzoj 题解 设第\(i\)天的股价为\(a_i\),记差分数组\(c_i=a_{i+1}-a_i\) 则 \[ Ans=\sum_{c_1 ...

  3. [洛谷P3228] [HNOI2013]数列

    洛谷题目链接:[HNOI2013]数列 题目描述 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到: ...

  4. [BZOJ3142][HNOI2013]数列(组合数学)

    3142: [Hnoi2013]数列 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 1721  Solved: 854[Submit][Status][ ...

  5. BZOJ3142 [Hnoi2013]数列

    Description 小 T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察 到:除第一天外每天的股价都 ...

  6. 3142:[HNOI2013]数列 - BZOJ

    题目描述 Description 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨. 股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到:除第一天外每天 ...

  7. bzoj千题计划293:bzoj3142: [Hnoi2013]数列

    http://www.lydsy.com/JudgeOnline/problem.php?id=3142 如果已知数列的差分数列a[1]~a[k-1] 那么这种差分方式对答案的贡献为 N-Σ a[i] ...

  8. [BZOJ3142][HNOI2013]数列(组合)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3142 分析: 考虑差值序列a1,a2,...,ak-1 那么对于一个确定的差值序列,对 ...

  9. bzoj 3142: [Hnoi2013]数列

    Description 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到:除第一天外每天的股价都比前 ...

  10. bzoj3142 luogu3228 HNOI2013 数列

    这题好没意思啊,怀疑拉不开区分度. 题意:求一个递增序列,每两个相邻数字之间的差值不超过m,最后一个值不能大于n. 分析:网上好多人用了差分,我没想到.然后YY了一发生成函数. 考虑构造生成函数G(x ...

随机推荐

  1. 转:c# 安装包制作

    .net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...

  2. 第一个 mac 程序 Create-JSON-Model

    第一个 mac 程序 Create-JSON-Model 效果图 数据 {"ID":null,"name":"Doe","firs ...

  3. Windows下Git使用报错:warning:LF will be replaced by CRLF in ××××.××

    Windows下Git使用报错: warning:LF will be replaced by CRLF in ××××.××(文件名) The file will have its original ...

  4. 为了让开发者写MaxCompute SQL更爽,DataWorks 增强SQL 编辑器功能

    众所周知,数据开发和分析的同学每天都要花大量时间写MaxCompute SQL:Dataworks作为数据开发的IDE直接影响着大家的开发效率,这次新上线的Dataworks我们在编辑体验上做了很多工 ...

  5. Aiseesoft Data Recovery 1.1.6 专业数据恢复软件破解版

    Aiseesoft Data Recovery是专业的数据恢复软件,它可以帮助你恢复几乎所有删除/丢失的文件,如照片,文件,电子邮件,音频,视频且支持从计算机,硬盘驱动器,闪存驱动器,存储卡,数码相机 ...

  6. Take my breath away

    Take my breath away 编辑 目录 1简介 2翻唱简介 3歌词 ▪ 英文歌词 ▪ 中英文歌词 1简介编辑 <Take My Breath Away>(中文译为<带走我 ...

  7. java一个字符串中出现次数最多的字符以及次数

    学习了别人的方法,觉得挺巧妙的.就是每次取出字符串的第一个字符,将字符串中与第一个字符相同的字符全部删除掉,然后通过计算删除前后字符串的长度来确定该字符在字符串中出现的次数,最终比较出出现最多次的字符 ...

  8. Nginx总结.md

    基本配置 注意:下面的nginx版本是1.10,安装是在CentOS 7中通过epel源进行安装的nginx默认配置文件. # egrep -v "(^$)|(^#)|#" /et ...

  9. 情绪ABC理论

    美国著名心理学家阿尔伯特·艾利斯 [Albert Ellis 1913.09.27]于20世纪50年代创立, 其理论认为引起人们情绪困扰的并不是外界发生的事件,而是人们对事件的态度.看法.评价等认知内 ...

  10. R函数-时间序列ETS参数说明

    alpha\beta\gamma分别代表水平.趋势.季节分量的平滑参数α.β.γ.这三个参数我们希望接近于0,以便于更平滑,即越小越平滑.在乘法模型的情况下,参数需要非常低,否则模型会对噪声太敏感. ...