bzoj2023/1630

来源:互联网 发布:淘宝全球购怎么干 编辑:程序博客网 时间:2024/04/29 22:07

沉迷文化无法自拔(划掉)
分析:dp加上前缀和乱搞。
搞了个月榜rank2 ,不知道rank1怎么刷的,是不是停课了。。
这里写图片描述

#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define ll long long #define mo 1000000#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;int n,m,l,r,t,ans;const int N=1e5+5;int f[2][N],g[2][N],a[N];int main(){    scanf("%d%d%d%d",&n,&m,&l,&r);    fo(i,1,m)    {        int x;        scanf("%d",&x);        a[x]++;    }    f[0][0]=f[1][0]=g[0][0]=g[1][0]=1;    fo(i,1,r)    g[0][i]=1;    t=0;    fo(i,1,n)    {        t^=1;        fo(j,1,r)        {            if (j>a[i])            f[t][j]=(g[t^1][j]-g[t^1][j-a[i]-1]+mo)%mo;            else f[t][j]=g[t^1][j]%mo;            g[t][j]=(g[t][j-1]+f[t][j])%mo;        }    }    ans=0;    fo(i,l,r)    ans=(ans+f[t][i])%mo;    printf("%d\n",ans);    return 0;}
0 0