【HDU】5793 A Boring Question
来源:互联网 发布:linux 判断进程假死 编辑:程序博客网 时间:2024/05/22 19:22
A Boring Question
题目链接
- A Boring Question
题目大意
要你求如下式子的值
题解
这个题只是看上去吓人而已…
比赛的时候大部分都是找规律过的,后来看官方题解才茅塞顿开。
首先可以分析出来:这个和要是不为0,序列k必须非减,所以我们考虑非减的情况就行了。
接下来开始化简:
注意到后面的积可以分别提到和式的前面。
这时,我们发现最里面的一项就是
这时我们又发现此时的最后一项又可以由二项式展开来化简:
这样一直进行化简,最后可以得到:
这样在最后就是一个等比数列求和了。
最终结果:
代码
#include <iostream>#include <cstring>#include <cstdio>#define mod 1000000007#define LL long longusing namespace std;int T;LL n,m;LL pow_mod(LL a,LL b,LL c){ LL ans=1; while (b) { if (b&1) ans=(ans*a)%c; b>>=1; a=(a*a)%c; } return ans;}int main(){ scanf("%d",&T); while (T--) { scanf("%lld%lld",&n,&m); LL ans=(pow_mod(m,n+1,mod)-1)*pow_mod(m-1,mod-2,mod); ans=(ans+mod)%mod; printf("%I64d\n",ans); } return 0;}
0 0
- 【HDU】5793 A Boring Question
- A Boring Question HDU
- HDU 5793 A Boring Question (数学)
- HDU 5793 A Boring Question 打表找规律
- hdu 5793 A Boring Question 数学
- HDU 5793 A Boring Question(多校6)
- HDU 5793 A Boring Question(数论)
- hdu 5793 A Boring Question 数学
- hdu-5793 A Boring Question 打表找规律
- HDU-5793 A Boring Question(打表找规律)
- HDU-5793-A Boring Question(打表找规律)
- HDU-5793 A Boring Question(矩阵快速幂)
- HDU 5793 A Boring Question(快速幂+求逆元)
- hdu 5793A Boring Question 推公式(多校)
- HDU 5793 A Boring Question(快速幂&求逆元)
- HDU 5793 A Boring Question (打表找规律)
- HDU 5793 A Boring Question (找规律+快速幂)
- HDU-5793-A Boring Question-打表找规律加模逆元
- HTML5语义化标签
- 不同大小的字中部对齐
- iOS运行时机制(附Demo演练)
- java调试快捷键(自己学习使用)
- Codeforces Round #365 (Div. 2) 703B Mishka and trip 水题
- 【HDU】5793 A Boring Question
- 遗传算法
- Java.Web学习笔记 Hibernate
- ibatis 到 MyBatis区别
- button执行frame动画响应点击事件
- AR引擎vuforia源码分析、中文注释(1)
- 关于openvpn的server.conf配置文件的参数
- 【OpenCV】VS2015与OpenCV2.4.11配置
- Laravel框架中简单使用中间件