思路:

容斥。

实现:

 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相关推荐

  1. UVA 357 - Let Me Count The Ways

    其实同种类型的题我不想重复发的,感觉没意思.这题又是硬币问题,和147.674原理一样.只是我在做这题时遇到了新的问题,也算是有新的收获,就发一下吧.我曾和zxpn讨论过是之前就算好所有结果,还是每输 ...

  2. Let Me Count The Ways(Kickstart Round H 2018)

    题目链接:https://code.google.com/codejam/contest/3324486/dashboard#s=p2 题目: 思路: 代码实现如下: 1 #include <s ...

  3. Competitive Programming 3题解

    题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...

  4. 2019 HZNU Winter Training Day 13 Comprehensive Training

    A.Jongmah   CodeForces-1110D 题意:你在玩一个数字游戏,有一堆写在瓦片上的数字,希望你能组成最多的三元组(三个数字相同,或顺子). 这题用到的方法是动态规划.f[i][j] ...

  5. E. B. Browning: Sonnets from the Portuguese

    01 我想起,当年希腊的诗人曾经歌咏: I thought once how Theocritus had sung 年复一年,那良辰在殷切的盼望中 Of the sweet years, the d ...

  6. 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 ...

  7. matlab怎么分析突变点,小波变换检测信号突变点的MATLAB实现

    之前在不经意间也有接触过求突变点的问题.在我看来,与其说是求突变点,不如说是我们常常玩的"找不同".给你两幅图像,让你找出两个图像中不同的地方,我认为这其实也是找突变点在生活中的应 ...

  8. CS61A Homework3

    更好的阅读体验 Homework 3: Recursion, Tree Recursion hw03.zip Parsons Problems Q1: Neighbor Digits Problem ...

  9. UVa Online Judge 工具網站

    UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...

  10. 算法:使用单词表拼接字符串的方法数

    题目描述 假设所有字符都是小写字母. 长字符串是str arr是去重的单词表, 每个单词都不是空字符串且可以使用任意次 使用arr中的单词有多少种拼接str的方式,返回方法数. 题目解析 从左到右尝试 ...

最新文章

  1. 概念炒作的背后,“智能合约”的真相是什么?
  2. 小神之Newton物理引擎教程(一) Newton物理引擎教程
  3. python deque的内在实现 本质上就是双向链表所以用于stack、队列非常方便
  4. ubuntu~快捷键
  5. 分析各种排序算法的优劣
  6. 【VBS】IE11如何运行 Visual Basic Script 程序
  7. python改变turtle画笔方向的函数_哪个选项不能改变turtle画笔的运行方向?
  8. outlook阅读html,Outlook HTML邮件中英文混排字体设置
  9. python--递归计算n的价乘
  10. 有关asp.net技术的外文文献_医学科技论文写作中参考文献的标准格式及常见问题...
  11. 从Linux程序中执行shell(程序、脚本)并获得输出结果(转)
  12. 雷石柏云服务器指令,雷石KTV人工智能,让歌唱更自由
  13. 【WPS】excel 使用MD5宏 windows环境
  14. 二战十大致命武器之“喷火”式战斗机
  15. html半透明遮罩,div半透明遮罩效果
  16. 热度php代码,爬取知乎热度搜索标题并数据分析及可视化(示例代码)
  17. cmd怎么查看当前静态路由_怎么使用cmd设置添加电脑上静态路由
  18. asp.net政府企业网站前台+后台源码
  19. 将多名学生成绩绘制在一张画布中,并在图中显示学生成绩
  20. Unity3D 模型描边插件Outline Effect详细使用说明、C#功能扩展

热门文章

  1. 3、贝叶斯优化相关理论知识
  2. 医学图像分割--U-Net: Convolutional Networks for Biomedical Image Segmentation
  3. 基于Caffe的人脸识别实现
  4. 20170908在线编程之圆周上问两点间的距离问题
  5. 面试:Synchronized锁升级(理解)
  6. 2021-06-21层次选择器
  7. 区块链 比特币 以太坊 hyperledger fabric智能合约比较 不同的区块链比较
  8. kubernetes视频教程笔记 (32)-安全-准入控制Admission Control
  9. PHP二维数组按照指定的字段排序的函数
  10. html与css游戏开发工具,分享15个最佳的HTML/CSS设计和开发框架