C - Ayoub and Lost Array

Posted rainyskywx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C - Ayoub and Lost Array相关的知识,希望对你有一定的参考价值。

#include<iostream>
#include<cstdio>
#define maxn 200007
const int mod=1e9+7;
typedef long long ll;
using namespace std;
ll dp[maxn][3];
int n,l,r;
int main()
{
    int x,y,z;
    cin>>n>>l>>r;
    x=r/3-(l-1)/3,y=(r+2)/3-(l+1)/3,z=(r+1)/3-(l)/3;
    dp[0][0]=1,dp[0][1]=dp[0][2]=0;
    for(int i=1;i<=n;i++)
    {
        dp[i][0]=(dp[i-1][0]*x%mod+dp[i-1][1]*z%mod+dp[i-1][2]*y%mod)%mod;
        dp[i][1]=(dp[i-1][0]*y%mod+dp[i-1][1]*x%mod+dp[i-1][2]*z%mod)%mod;
        dp[i][2]=(dp[i-1][0]*z%mod+dp[i-1][1]*y%mod+dp[i-1][2]*x%mod)%mod;
    }
    cout<<dp[n][0];
    return 0


 




以上是关于C - Ayoub and Lost Array的主要内容,如果未能解决你的问题,请参考以下文章

C. Ayoub and Lost Array

codeforces round 533 div2 C Ayoub and Lost Array [dp]

Codeforces Round #533 (Div. 2)C. Ayoub and Lost Array

CF1105C Ayoub and Lost Array

Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array dp

Codeforces 1105C Ayoub and Lost Array