51Nod-1556-计算
来源:互联网 发布:软件怎么安装到mac 编辑:程序博客网 时间:2024/06/01 09:34
ACM模版
描述
题解
这个题是一个典型的默慈金数的模型,在讨论区中,某大神已经详细的解释了这个数和这个题的转换关系。
首先,我们设
那么,我们很容易得到的是默慈金数的表达式:
这里注意用逆元,不然就挂了。
默慈金数真是一个有趣的东西,在《组合数学》一书中有讲,是卡特兰数的一个扩展好像。
OVER…
代码
#include <cstdio>using namespace std;typedef long long ll;const int MOD = 1e9 + 7;const int MAXN = 1e6 + 10;ll n;ll f[MAXN];ll m[MAXN];ll inv(ll a, ll m){ ll ret = 1; for (; m; m >>= 1, a = a * a % MOD) { if (m & 1) { ret = ret * a % MOD; } } return ret;}int main(){ scanf("%lld", &n); m[1] = f[1] = 1; m[2] = f[2] = 2; for (int i = 3; i <= n; i++) { m[i] = (m[i - 1] * (2 * i + 1) % MOD + m[i - 2] * 3 * (i - 1) % MOD) % MOD * inv(i + 2, MOD - 2) % MOD; f[i] = ((f[i - 1] * 3 - m[i - 2]) % MOD + MOD) % MOD; } printf("%lld\n", f[n]); return 0;}
阅读全文
0 0
- 51 nod 1556 计算
- 【51Nod 1556】计算
- 51nod 1556 计算
- 51nod 1556 计算
- 51Nod-1556-计算
- 51nod-1556 计算(默慈金数)
- 51nod 1556 计算(默慈金数)
- 默慈金数学习小记 && 51nod 1556 计算
- 51nod 1719 数值计算
- 51Nod-1719-数值计算
- 51nod 算法马拉松11 D 计算
- 51nod--1298 (计算几何基础)
- 51nod 1719 数值计算(二分)
- 51 nod 1298(计算几何)@
- 51nod 1556 计算&&卡特兰数的扩展,HV格路径
- 51nod--1264 线段相交 (计算几何基础, 二维)
- 51NOD 1265 四点共面(计算几何)
- 【51Nod】1298 - 圆与三角形(计算几何)
- MySQL中重置密码操作
- JavaScript
- 给空包写入签名
- Ubuntu16.04下搭建tftp服务器
- 03.linux 内存管理
- 51Nod-1556-计算
- c/c++ curl smtp 发送邮件 foxmail 中文乱码问题解决
- jquery专栏
- mysql 的触发器详解
- 用 runcloud.io 免费部署、优化管理你的多个VPS( 目前支持 Ubuntu 16.04 )
- 逻辑回归LR的特征为什么要先离散化
- Gilde刷新图片闪烁和You must not call setTag() on a view Glide is targeting如何解决
- Hadoop之Hbase架构以及应用介绍
- 纯CSS设置Checkbox复选框控件的样式