성가신 웨이브 소음 F 겨울 방학 다섯 오프 소 (DP + 및 접두사)

그림 삽입 설명 여기
우리의 목표는 우리가 X-1 소정의 순서로 하나의 코스를 결정할 수 있고, 주문 될 수있는 간격을 L 및 R을 발견하는 하나의 완전한 AC, 즉 DP [I] = (DP) [I-1]; 그것은 단지 이전 단계에서 전송 될 수 있고, 각 단계는 프로세스 두 가지 가능한 최대 X에 행해질 수 있고, 최후로 상태 천이 식 [I] = DP [DP이다 마지막 교류 RJ이며 I-1] + DP는 [IX]는, 우리가 전에 접두사를 사용할 필요가 있으므로, 첨가 알고리즘마다, 타임 아웃의 원인이되며, 우리가 발견 항목을 제공 질문 복수 세트의 도착의 방법의 각 단계의 수를 얻을 수 난 나타낸다 전체 종류의 방법은 내부에 각각의 섹션은 감산 연산을 요청하고, 애플리케이션의 특성 프리픽스 수

다음 코드는


#include <bits/stdc++.h>
using namespace std;
const int MAX=1e9+7;
int f[100008];
int main() {
    int k,q,l,r;
 cin>>k>>q;
        f[0]=1,f[k]=2;
        for(int i=1;i<k;i++) f[i]=1;
        for(int i=k+1;i<100008;i++) f[i]=(f[i-1]+f[i-k-1])%MAX;
        for(int i=1;i<100008;i++) f[i]=(f[i]+f[i-1])%MAX;
        while(q--)
        {
            cin>>l>>r,l--;
            printf("%d\n",(f[r]-f[l]+MAX)%MAX);
        }
    return 0;
}
게시 48 개 원래 기사 · 원 찬양 17 · 전망 4463

추천

출처blog.csdn.net/weixin_45757507/article/details/104317741