hdu 5673 线性求逆元+卡特兰数
来源:互联网 发布:linux 进入mysql 编辑:程序博客网 时间:2024/04/30 13:36
gg了gg了,感觉自己一直在刷水题,我noip2017要报零了
预处理卡特兰数,预处理组合数,然后夹棍法放不走的状态,线性处理逆元
#include <cstdio>#include <iostream>#include <cstring>using namespace std;const int MAXN = 2000000 + 10;const long long wys = 1000000007; long long cal[MAXN], inv[MAXN], c[MAXN], n;int T;int main() { inv[1] = cal[1] = 1; for( register long long i = 2; i <= 2000000; i++ ) inv[i] = ( wys - wys / i ) * inv[ wys % i ] % wys; for( register int i = 2; i <= 2000000; i++ ) { cal[i] = cal[i - 1] * ( 4 * i -2 ) % wys *inv[ i + 1 ] % wys; } scanf( "%d", &T ); while( T-- ){ scanf( "%lld" , &n ); long long ans = 1; c[0] = 1; for( register long long i = 1; i <= n; i++ ) c[i] = c[ i - 1 ] * ( n - i + 1 ) % wys * inv[i] % wys; for( register long long i = 1; ; i++ ) { int rest = n - ( i << 1 ); if( rest < 0 ) break; ans = ( ans + cal[i] * c[rest] ) % wys; } printf( "%I64d\n", ans); } return 0;}
阅读全文
0 0
- hdu 5673 线性求逆元+卡特兰数
- 卡特兰数 hdu 5673
- hdu5673 卡特兰数+线性求逆元
- HDU 5673 Robot【卡特兰数】
- HDU 5673 Robot(卡特兰数)
- hdu 5673 卡特兰数,逆元
- HDU 1023 卡特兰数
- HDU 3723卡特兰数
- HDU 1133 卡特兰数
- hdu 3723 卡特兰数
- hdu 5184 卡特兰数
- hdu 1023 卡特兰数
- HDU 4828 (卡特兰数)
- hdu 1023 卡特兰数
- 卡特兰数 Catalan数 hdu 1023
- hdu 1130 卡特兰数加大数
- HDU-5673-Robot(卡特兰数+逆元 / 默慈金数)
- hdu 5673 robot【默慈金数or卡特兰数】
- caffe训练模型并预测图片类型
- NYOJ 40
- Python读取中文路径时的处理
- NOIP2016 愤怒的小鸟 [状压DP]
- CSDN-Markdown使用方法
- hdu 5673 线性求逆元+卡特兰数
- 谈谈个人网站的建立(四)—— 日志系统的建立
- 生产者消费者模式解决强耦合问题
- Android 在使用Intent跳转并传递对象参数时,出现Parcelable encountered IOException writing serializable object
- 验证中国的座机号的正则表达式
- 在Popupwindow布局中嵌套ScrollView,滑动内容时视图出现反复闪烁的问题
- mysql pdf
- ResultSetHandler的总结
- spring boot 通过mybatis连接MySQL数据库