Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52326 wssdr 折纸 C++ 运行出错 30 2 MS 524 KB 912 2022-07-19 11:52:59

Tests(6/20):


#include<bits/stdc++.h> #define ll long long using namespace std; ll n,m,x[2000]={0,1,2},tmp[2000],h[10005],l[10005],r[10005],a,b,c; inline ll F(ll s,ll t){ ll res(0); if(s&1){ res=x[s+1]; for(int i(s+2);i<=t+1;i+=2) res+=(x[i]^(i<=t?x[i+1]:0)); } else for(int i(s+1);i<=t+1;i+=2) res^=(x[i]+(i<=t?x[i+1]:0)); return res; } int main(){ scanf("%lld",&n); for(int i(2),k(2);i<=n;++i,k<<=1){ for(int j(1);j<=k;++j) tmp[j]=x[j]; for(int j(1);j<=k;++j) x[j]=(tmp[j]<<1)-(j&1); for(int j(1);j<=k;++j) x[j+k]=(tmp[j]<<1)+(j&1?1:-2); } n=(1ll<<n);for(int i(1);i<=n;++i) --x[i]; scanf("%lld%lld%lld",&m,&l[0],&r[0]); scanf("%lld%lld%lld",&a,&b,&c);c%=1000000007ll; for(int i(1);i<=m;++i){ h[i]=((l[i-1]^r[i-1]^h[i-1]^F(l[i-1],r[i-1]))+c)%1000000007ll; l[i]=((l[i-1]^a^h[i])%(n+1ll))%n; r[i]=((r[i-1]^b^h[i])%(n-l[i]))+l[i]; } printf("%lld\n",h[m]); return 0; }


测评信息: