kickstart_2018_round_H_C Let Me Count The Ways
思路:
容斥。
实现:
1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const ll MOD = 1e9 + 7; 5 const int MAXN = 200000; 6 ll f[MAXN + 5], inv[MAXN + 5]; 7 ll pow(ll a, ll b) 8 { 9 ll res = 1; 10 while (b) 11 { 12 if (b & 1) 13 res = res * a % MOD; 14 b >>= 1; 15 a = a * a % MOD; 16 } 17 return res; 18 } 19 20 void init() 21 { 22 f[0] = 1; 23 for (int i = 1; i <= MAXN; i++) f[i] = f[i - 1] * i % MOD; 24 inv[MAXN] = pow(f[MAXN], MOD - 2); 25 for (int i = MAXN - 1; i >= 0; i--) inv[i] = inv[i + 1] * (i + 1) % MOD; 26 } 27 28 ll C(int a, int b) 29 { 30 return f[a] * inv[b] % MOD * inv[a - b] % MOD; 31 } 32 33 int main() 34 { 35 init(); 36 int T, n, m; 37 cin >> T; 38 for (int i = 1; i <= T; i++) 39 { 40 cin >> n >> m; 41 ll ans = 0, s = 1, bin = 1; 42 for (int i = 0; i <= m; i++) 43 { 44 ans = (ans + s * C(m, i) * bin % MOD * f[2 * n - i] % MOD) % MOD; 45 s *= -1; 46 bin = bin * 2 % MOD; 47 } 48 cout << "Case #" << i << ": " << (ans + MOD) % MOD << endl; 49 } 50 return 0; 51 }
转载于:https://www.cnblogs.com/wangyiming/p/10054982.html
kickstart_2018_round_H_C Let Me Count The Ways相关推荐
- UVA 357 - Let Me Count The Ways
其实同种类型的题我不想重复发的,感觉没意思.这题又是硬币问题,和147.674原理一样.只是我在做这题时遇到了新的问题,也算是有新的收获,就发一下吧.我曾和zxpn讨论过是之前就算好所有结果,还是每输 ...
- Let Me Count The Ways(Kickstart Round H 2018)
题目链接:https://code.google.com/codejam/contest/3324486/dashboard#s=p2 题目: 思路: 代码实现如下: 1 #include <s ...
- Competitive Programming 3题解
题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...
- 2019 HZNU Winter Training Day 13 Comprehensive Training
A.Jongmah CodeForces-1110D 题意:你在玩一个数字游戏,有一堆写在瓦片上的数字,希望你能组成最多的三元组(三个数字相同,或顺子). 这题用到的方法是动态规划.f[i][j] ...
- E. B. Browning: Sonnets from the Portuguese
01 我想起,当年希腊的诗人曾经歌咏: I thought once how Theocritus had sung 年复一年,那良辰在殷切的盼望中 Of the sweet years, the d ...
- sudo dolphin_如何使用Dolphin在PC上玩Wii和GameCube游戏
sudo dolphin Ever wish you could play Wii and GameCube games on your PC? Just like your favorite ret ...
- matlab怎么分析突变点,小波变换检测信号突变点的MATLAB实现
之前在不经意间也有接触过求突变点的问题.在我看来,与其说是求突变点,不如说是我们常常玩的"找不同".给你两幅图像,让你找出两个图像中不同的地方,我认为这其实也是找突变点在生活中的应 ...
- CS61A Homework3
更好的阅读体验 Homework 3: Recursion, Tree Recursion hw03.zip Parsons Problems Q1: Neighbor Digits Problem ...
- UVa Online Judge 工具網站
UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...
- 算法:使用单词表拼接字符串的方法数
题目描述 假设所有字符都是小写字母. 长字符串是str arr是去重的单词表, 每个单词都不是空字符串且可以使用任意次 使用arr中的单词有多少种拼接str的方式,返回方法数. 题目解析 从左到右尝试 ...
最新文章
- 概念炒作的背后,“智能合约”的真相是什么?
- 小神之Newton物理引擎教程(一) Newton物理引擎教程
- python deque的内在实现 本质上就是双向链表所以用于stack、队列非常方便
- ubuntu~快捷键
- 分析各种排序算法的优劣
- 【VBS】IE11如何运行 Visual Basic Script 程序
- python改变turtle画笔方向的函数_哪个选项不能改变turtle画笔的运行方向?
- outlook阅读html,Outlook HTML邮件中英文混排字体设置
- python--递归计算n的价乘
- 有关asp.net技术的外文文献_医学科技论文写作中参考文献的标准格式及常见问题...
- 从Linux程序中执行shell(程序、脚本)并获得输出结果(转)
- 雷石柏云服务器指令,雷石KTV人工智能,让歌唱更自由
- 【WPS】excel 使用MD5宏 windows环境
- 二战十大致命武器之“喷火”式战斗机
- html半透明遮罩,div半透明遮罩效果
- 热度php代码,爬取知乎热度搜索标题并数据分析及可视化(示例代码)
- cmd怎么查看当前静态路由_怎么使用cmd设置添加电脑上静态路由
- asp.net政府企业网站前台+后台源码
- 将多名学生成绩绘制在一张画布中,并在图中显示学生成绩
- Unity3D 模型描边插件Outline Effect详细使用说明、C#功能扩展
热门文章
- 3、贝叶斯优化相关理论知识
- 医学图像分割--U-Net: Convolutional Networks for Biomedical Image Segmentation
- 基于Caffe的人脸识别实现
- 20170908在线编程之圆周上问两点间的距离问题
- 面试:Synchronized锁升级(理解)
- 2021-06-21层次选择器
- 区块链 比特币 以太坊 hyperledger fabric智能合约比较 不同的区块链比较
- kubernetes视频教程笔记 (32)-安全-准入控制Admission Control
- PHP二维数组按照指定的字段排序的函数
- html与css游戏开发工具,分享15个最佳的HTML/CSS设计和开发框架