• HDU 6656 Kejin Player


    hdu题面

    • Time limit 5000 ms
    • Memory limit 524288 kB
    • OS Windows

    解题思路

    因为升级只能一级一级地升,所以所求期望满足了区间加的性质,可以一级一级地算,然后求前缀和、输出(状态不好,临博客涕零,不知所言)

    接着扔链接(留坑)

    源代码

    参考别人博客写的,感觉像抄的一样

    #include<stdio.h>
    
    const int mod=1e9+7;
    const int MAXN=5e5+5;
    
    int T;
    int n,m;
    
    long long inv(long long x)//快速幂求逆元 inv[a]=a^(p-2)
    {
        long long res=1LL;
        long long b=mod-2;
        while(b){
            if(b&1) res=res*x%mod;
            x*=x;
            x%=mod;
            b>>=1;
        }
        return res%mod;
    }
    long long sum[MAXN];
    int main()
    {
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d%d",&n,&m);
            sum[0] = 0;
            for(int i = 1; i <= n; ++i)
            {
                long long r, s, x, a;
                scanf("%lld%lld%lld%lld", &r, &s, &x, &a);
                long long p =  r * inv(s) % mod;
                sum[i] = (sum[i - 1] + (a + (1 - p + mod) % mod * (a + sum[i - 1] - sum[x - 1] + mod) % mod * inv(p) % mod) % mod + mod) % mod;//关键就是这个了
            }
            while(m--)
            {
                int l, r;
                scanf("%d%d", &l, &r);
                long long ans = (sum[r - 1] - sum[l - 1] + mod) % mod;//这里为啥来着……
                printf("%lld
    ", ans);
            }
        }
        return 0;
    }
    
  • 相关阅读:
    文件权限
    文件权限
    Nginx SSL/HTTPS 配置
    Nginx SSL/HTTPS 配置
    Nginx SSL/HTTPS 配置
    安装opencv3.3.0方法
    安装opencv3.3.0方法
    安装opencv3.3.0方法
    安装opencv3.3.0方法
    阿里巴巴的体量到底有多大?
  • 原文地址:https://www.cnblogs.com/wawcac-blog/p/11349562.html
Copyright © 2020-2023  润新知