zoukankan      html  css  js  c++  java
  • BZOJ3260: 跳

    BZOJ3260: 跳

    Description

    邪教喜欢在各种各样空间内跳。现在,邪教来到了一个二维平面。
    在这个平面内,如果邪教当前跳到了(x,y),那么他下一步可以选择跳到以下4个点:
    (x-1,y),(x+1,y),(x,y-1),(x,y+1)。
    而每当邪教到达一个点,他需要耗费一些体力,
    假设到达(x,y)需要耗费的体力用C(x,y)表示。
    对于C(x,y),有以下几个性质:
    1、若x=0或者y=0,则C(x,y)=1。
    2、若x>0且y>0,则C(x,y)=C(x,y-1)+C(x-1,y)。
    3、若x<0且y<0,则C(x,y)=无穷大。
    现在,邪教想知道从(0,0)出发到(N,M),最少花费多少体力
    到达(0,0)点花费的体力也需要被算入)。
    由于答案可能很大,只需要输出答案对10^9+7取模的结果。

    Input

    读入两个整数 N ,M,表示邪教想到达的点。  
    0<=N, M<=10^12   ,N*M<=10^12

    Output

    输出仅一个整数,表示邪教需要花费的最小体力对 10^9+7取模的结果。

    Sample Input

    1 2

    Sample Output

    6

    题解Here!
    看来本蒟蒻不适合数论555。。。
    还是数据结构好。。。
    我想了半天,硬是没有想到组合数,感觉像卡特兰数的变形。。。
    但是那个$C$有感觉不大对劲。。。
    这是个神$flag$。。。
    翻了翻题解,组合数?$WTF$?逗我笑?
    $3min$后$1A$。。。
    神$TM$这真的是组合数啊。。。
    我好像就求了个逆元和快速幂啊。。。
    附代码:
    #include<iostream>
    #include<algorithm>
    #include<cstdio>
    #define MOD 1000000007LL
    using namespace std;
    long long n,m;
    inline long long read(){
    	long long date=0,w=1;char c=0;
    	while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}
    	while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}
    	return date*w;
    }
    long long mexp(long long a,long long b,long long c){
    	long long s=1;
    	while(b){
    		if(b&1)s=s*a%c;
    		a=a*a%c;
    		b>>=1;
    	}
    	return s;
    }
    long long solve(){
    	long long ans,x=1;
    	if(n>m)swap(n,m);
    	m%=MOD;
    	ans=m+1;
    	for(int i=1;i<=n;i++){
    		x=x*(m+i)%MOD*mexp(i,MOD-2,MOD)%MOD;
    		ans=(ans+x)%MOD;
    	}
    	return ans;
    }
    int main(){
    	n=read();m=read();
    	printf("%lld
    ",solve());
        return 0;
    }
    
  • 相关阅读:
    在o(N log N)时间内使用恒定的空间复杂度对链表进行排序
    归并排序
    The method of type must override a superclass method解决方式
    android sdk design Iconography
    android sdk design Typography
    android sdk design Metrics and Grids
    android模拟器被点击时总是自动输入C的解决
    “System.Data.Entity.ModelConfiguration.ModelValidationException”类型的未经处理的异常在 EntityFramework.dll 中发生
    js中的this使用
    MVC身份认证 解决办法 测试可行
  • 原文地址:https://www.cnblogs.com/Yangrui-Blog/p/9503339.html
Copyright © 2011-2022 走看看