zoukankan      html  css  js  c++  java
  • 2018牛客多校第二场a题

    一个人可以走一步或者跳x步,但不能连着跳,问到这个区间里有几种走法

    考虑两种状态  对于这一点,我可以走过来,前面是怎么样的我不用管,也可以跳过来但是,跳过来必须保证前一步是走的

    dp[i][0]表示i这一步是走过来的dp[i][1]表示i这一步是跳过来的

    #include<iostream>
    #include<bits/stdc++.h>
    using namespace std;
    long long dp[100002][2];
    long long mod=1e9+7;
    long long ans[100002];
    int main()
    {
        int n,w;
        cin>>n>>w;
        dp[0][0]=1;
        for(int i=1;i<=100002;i++)
        {
            dp[i][0]=(dp[i-1][0]+dp[i-1][1])%mod;
            if(i>=w) dp[i][1]=dp[i-w][0]%mod;
        }
         
        for(int i=1;i<=100002;i++)
        {
            ans[i]=(dp[i][0]+dp[i][1]+ans[i-1])%mod;
        }
        //for(int i=1;i<=10;i++)
        //cout<<ans[i]<<endl;
         
        while(n--)
        {
            long long l,r;
            cin>>l>>r;
            cout<<(ans[r]-ans[l-1]+mod)%mod<<endl;
        }
        return 0;
    }
  • 相关阅读:
    c#的Marshal
    爬虫之requests详解
    爬取抖音视频
    爬取拉钩网
    爬虫自动登陆GitHub
    爬取博客园博客
    爬取煎蛋网文章
    爬取抽屉热搜榜文章
    准备
    爬虫示例
  • 原文地址:https://www.cnblogs.com/wpbing/p/9508645.html
Copyright © 2011-2022 走看看