sdutoj 3896 HEX 思维+组合数
来源:互联网 发布:知乎live结束后能看吗 编辑:程序博客网 时间:2024/06/14 03:27
题目链接
题意:
问你从(1,1)到(a,b)有几种走法
思路;
这个题我们集训队的大佬提供了很好的思路,我们起始位置在(1,1)可以走到(2,1) (3,2)(2,2)
坐标分别增加了(1,0) (2,1) (1,1) 我们可以将三个看成三个向量 对于要达到的目的(a,b)可以列出一个
等式: x(1,0)+y(2,1)+z(1,1)+(1,1)=(a,b) 可以列出两个方程.x+2*y+z=a-1,y+z=b-1. (x,y,z分别表示往(1,0),(2,1),(1,1)方向走了几次),那么可以的到走法为C(x+y+z,x)*C(y+z,y)*C(z,z)。因为只有两个方程三个未知数
所以我们需要枚举一个然后求结果.a,b最多为1e5,组合数问题用费马小定理求逆元来解决就可以了
#include<bits/stdc++.h>#define Ri(a) scanf("%d", &a)#define Rl(a) scanf("%lld", &a)#define Rf(a) scanf("%lf", &a)#define Rs(a) scanf("%s", a)#define Pi(a) printf("%d\n", (a))#define Pf(a) printf("%lf\n", (a))#define Pl(a) printf("%lld\n", (a))#define Ps(a) printf("%s\n", (a))#define W(a) while(a--)#define CLR(a, b) memset(a, (b), sizeof(a))#define MOD 1000000007#define inf 0x3f3f3f3f#define exp 0.00000001#define pii pair<int, int>#define mp make_pair#define pb push_backusing namespace std;typedef long long ll;const int maxn=1e5+10;ll f[maxn+1],inv[maxn+1];int a,b,x,y,z;ll quickpow(ll w,ll l){ll ans=1;while(l){if(l&1)ans=(ans*w)%MOD;l=l/2;w=(w*w)%MOD;}return ans;}void init(){f[0]=1;inv[0]=1;for(int i=1;i<=maxn;i++){ f[i]=(f[i-1]*i)%MOD; inv[i]=quickpow(f[i],MOD-2)%MOD;}return ;}ll C(int n,int k){if(n<k)return 0;ll res=(f[n]*inv[k]%MOD*inv[n-k])%MOD;return res;}int main(){init();while(~Ri(a)){Ri(b);x=0,y=0,z=0;ll ans=0;for(x=0;x<=a;x++){z=a-b-x;y=2*b-a-1+x;if(z<0||y<0)continue;ans=(ans+C(x+y+z,x)*C(y+z,y))%MOD;}Pl(ans);}return 0;}/***************************************************User name: ¸ÖÌúÏÀResult: AcceptedTake time: 364msTake Memory: 1776KBSubmit time: 2017-05-10 21:29:03****************************************************/
1 0
- sdutoj 3896 HEX 思维+组合数
- HEX----组合数+逆元+思维 山东省第八届省赛D题
- hatuoj 1300 HEX----组合数+逆元+思维 山东省第八届省赛D题
- HEX(组合数+线性代数)
- SDUTOJ 1586 计算组合数 杨辉三角
- SDUTOJ-1574 组合数的计算(简单数论)
- 山东 acm D HEX 数学 求组合数
- 排列组合 (组合数 思维题)
- SDUTOJ 1164 完美数
- HEX--之组合数学
- codeforces 837F. Prefix Sums 思维+二分+组合数
- sdutoj
- SDUTOJ
- SDUToj
- SDUToj
- SDUToj
- lightoj-1006-Hex-a-bonacci【思维】
- sdutoj 3011 数格子算面积
- 使用 maven 搭建 Spring Demo
- Ztree创建带有复选框的树
- [bzoj1266][AHOI2006] 上学路线 最小割+最短路
- spring boot和mybatis的整合
- Qt 工具下载
- sdutoj 3896 HEX 思维+组合数
- 清华大学计算机科学与技术的在读研究生、博士生和准研究生
- 蓝桥杯之二阶魔方旋转
- [DP]方格取数
- easyui获取对应一行的id方法可以用于删除和编辑
- Unity 3D中的内存管理
- 动态规划算法——C++实现经典案例——初级
- hdu2059 龟兔赛跑
- Uncaught TypeError Cannot read property 'length' of undefined