zoukankan      html  css  js  c++  java
  • 2019年牛客多校第一场B题Integration 数学

    2019年牛客多校第一场B题 Integration

    题意

    给出一个公式,求值

    思路

    明显的化简公式题,公式是分母连乘形式,这个时候要想到拆分,那如何拆分母呢,自然是裂项,此时有很多项裂项,我们不妨从小数据尝试,经过搬砖搬到3-4个连乘式相消的时候,就可以发现规律了!(耐心耐心耐心,草稿纸书写规范)

    公式化简过程见(懒狗是这样):https://blog.csdn.net/dillonh/article/details/96445321

    #include<bits/stdc++.h>
    #define F first
    #define S second
    #define pb push_back
    #define mkp make_pair
    using namespace std;
    typedef long long ll;
    const int maxn=1e3+5;
    const int mod=1e9+7;
    ll a[maxn];
    int n;
    ll mul(ll a,ll b){
        return (a%mod*b)%mod;
    }
    ll fpow(ll a,ll b){
        ll ans=1;
        while(b){
            if(b&1)ans=mul(ans,a);
            a=mul(a,a);
            b>>=1;
        }
    return ans;
    }
    ll inv(ll a){
        return fpow(a,mod-2);
    }
    int main(){
        while(scanf("%d",&n)==1){
        for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
        long long tmp=0;
        for(int i=1;i<=n;i++){
            long long ans=mul(1ll,mul(2,a[i]));
            for(int j=1;j<=n;j++)if(i!=j)ans=mul(ans,(mul(a[j],a[j])-mul(a[i],a[i])+mod)%mod);
            ans=mul(1,inv(ans));
            tmp+=ans;
            tmp=(tmp+mod)%mod;
        }
        printf("%lld
    ",tmp);
        }
        return 0;
    }
    
  • 相关阅读:
    leetcode bugfree note
    leetcode 419
    leetcode 165
    leetcode 155
    leetcode 204
    leetcode 28
    将二叉搜索树转为有序双向链表
    leetcode 397
    ABAP 动态内表创建/赋值
    ABAP 屏幕下拉框值根据选择框填值赋值
  • 原文地址:https://www.cnblogs.com/ttttttttrx/p/11393912.html
Copyright © 2011-2022 走看看