HNOI 2013 bzoj 3142 数列
2016-02-23 16:02
323 查看
推个公式就行了,但是不懂为什么换成unsigned long long 就挂了(现在知道了,减成了负数没注意。。。。)
/************************************************************** Problem: 3142 User: Clare Language: C++ Result: Accepted Time:0 ms Memory:1272 kb ****************************************************************/ #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <cmath> #include <queue> #include <vector> using namespace std; typedef long long ll; ll n,K,m,P; ll Quickpow(ll a,ll exp) { ll base=a,r=1; while(exp) { if(exp&1) r=r*base%P; base=base*base%P; exp>>=1; } return r; } int main() { scanf("%lld%lld%lld%lld",&n,&K,&m,&P); n%=P; ll Ans=n*Quickpow(m,K-1)%P; ll tmp=(((m*(m+1)/2%P)*Quickpow(m,K-2))%P*(K-1))%P; Ans=((Ans-tmp)%P+P)%P; printf("%lld",Ans); return 0; }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法