[CF559C] Gerald and Giant Chess
Gerald and Giant Chess
#include <bits/stdc++.h>#define fi first
#define se second
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int MOD = 1e9 + 7;
const int maxn = 1e6 + 5;ll qpow(ll a, ll b, ll mod) {ll res = 1;while (b) {if (b & 1) res = res * a % mod;a = a * a % mod;b >>= 1;}return res;
}ll fac[maxn], inv[maxn];void init(int n) {fac[0] = 1;for (int i = 1; i <= n; i++) fac[i] = fac[i - 1] * i % MOD;inv[n] = qpow(fac[n], MOD - 2, MOD);for (int i = n - 1; i >= 0; i--) inv[i] = inv[i + 1] * (i + 1) % MOD;
}ll C(int n, int m) {if (n < m) return 0;return fac[n] * inv[m] % MOD * inv[n - m] % MOD;
}PII p[maxn];
ll dp[maxn];int main() {int h, w, n;scanf("%d%d%d", &h, &w, &n);for (int i = 1; i <= n; i++) scanf("%d%d", &p[i].fi, &p[i].se);n++;p[n].fi = h, p[n].se = w;sort(p + 1, p + n + 1);init(max(h, w) << 1);for (int i = 1; i <= n; i++) {dp[i] = C(p[i].fi + p[i].se - 2, p[i].fi - 1);for (int j = 1; j < i; j++) {dp[i] = ((dp[i] - dp[j] * C(p[i].fi + p[i].se - p[j].fi - p[j].se, p[i].fi - p[j].fi) % MOD) % MOD + MOD) % MOD;}}printf("%lld\n", dp[n]);return 0;
}
[CF559C] Gerald and Giant Chess相关推荐
- cf559C. Gerald and Giant Chess(容斥原理)
题意 $h \times w$的网格,有$n$个障碍点, 每次可以向右或向下移动 求从$(1, 1)$到$(h, w)$不经过障碍点的方案数 Sol 容斥原理 从$(1, 1)$到$(h, w)$不经 ...
- 数论五之容斥——硬币购物,Gerald and Giant Chess,幸运数字,Sky Full of Stars,已经没有什么好害怕的了
容斥的神 [HAOI2008]硬币购物 problem solution code CF559C Gerald and Giant Chess problem solution code [SCOI2 ...
- Codeforces Round #313 (Div. 1) C. Gerald and Giant Chess DP
C. Gerald and Giant Chess Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest ...
- CodeForces - 560E Gerald and Giant Chess(组合数学+dp)
题目链接:点击查看 题目大意:给出一个 n∗mn*mn∗m 的矩阵,其中有 kkk 个坏点,每次只能向右走或向下走,问从点 (1,1)(1,1)(1,1) 到点 (n,m)(n,m)(n,m) 共有多 ...
- CF559C-Gerald and Giant Chess【计数类dp】
正题 上不了Codeforces,就用洛谷了 评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=CF559C 题目大意 H∗WH ...
- CF刷题(03)——难度2100~2400
这个博客记录2100到2400共17个题 2100 1.B. Maximum Value 题意:You are given a sequence a consisting of nnn integer ...
- opencv国际象棋_国际象棋是的
opencv国际象棋 By Kellen Browning 凯伦·布朗宁 On a recent afternoon, thousands of noncombatants watched from ...
- HDU 6114 Chess 【组合数】(2017百度之星程序设计大赛 - 初赛(B))
Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- hdu-5794 A Simple Chess(容斥+lucas+dp)
题目链接: A Simple Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Ot ...
最新文章
- Redis 笔记(01)— 安装、启动配置、开启远程连接、设置密码、远程连接
- AntiXSS - 支持Html同时防止XSS攻击
- 史上更全面的数据库分库分表、数据一致性、主键分配思路!
- Android studio 中引用jar的其实是Maven?(一)
- 深度探索C++ 对象模型(4)-Default Copy Constructor(4)
- 关于OSI七层模型详细解释
- 文本过滤后返回空值_利用Fiddler来Mock接口返回值
- Objective-C超高精度的计时器
- 调多线程中的消息发送
- VB.NET2005通过泛型实现的KMP查找算法
- 微信小程序获取用户的头像和昵称
- 【BZOJ1226】学校食堂(动态规划,状态压缩)
- lwj_C#_周总结1
- LeetCode Top 100 Liked Questions 416. Partition Equal Subset Sum (Java版; Medium)
- echarts设置饼图标示线以及标示文字的颜色等相关样式
- 校园共享单车停放问题的调研
- RobotFramework(RF)常用函数库-内置库篇
- 世界人工智能大会即将举办 AI机器人帮你分类垃圾
- Windows 组策略 应用
- JAVA操作xml文件
热门文章
- 嵌入式linux学习笔记--使用wget下载文件
- Black Hat 2008 观察第一天
- 19. Fight over Fox-hunting 猎狐引发的冲突
- 如何使用密码限制对PlayStation 4的访问
- 梅宫主:创业小白精准引流之——布局自动化引流系统三大绝招!
- 我的深圳面试体验--艾默生/西门子/华为/中兴/索尼/富士施乐/长城国际/ 马士基/SGS/宜家/
- python log日志模块的使用
- 个人网站接入第三方支付(非个体商户和企业)
- 职业梦想是计算机的英语作文,高中英语作文我的梦想职业
- 一通百通,带你一次性全理解Spring 中的Template