Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52306 xhx_the_juruo 折纸 C++ 运行超时 55 4000 MS 244 KB 854 2022-07-19 11:52:03

Tests(11/20):


#include<iostream> #include<cstdio> #define mod 1000000007 #define ll long long using namespace std; int k,m; ll a,b,c; ll n; ll get_num(int x){ int now=0,c=(x&1); for(int i=0;i<k;i+=1){ now|=((c^((x>>(k-i)&1)))<<i); } return now; } ll add(ll x,ll y){ if((x+=y)>=mod) x-=mod; return x; } ll query(ll l,ll r){ if(l==r) return get_num(l); ll res=0; if(l&1){ res=get_num(l); res+=(r-l>>1)*(n-1); if((r&1)^1) res+=get_num(r); } else{ if((r-l+1>>1)&1) res=n-1; if((r&1)^1) res=(res^get_num(r)); } return res; } int main(){ ll l,r,ans=0; scanf("%d",&k); n=(1<<k); scanf("%d%lld%lld",&m,&l,&r); scanf("%lld%lld%lld",&a,&b,&c); for(int i=1;i<=m;i+=1){ ans=(ans^l^r^query(l,r))%mod; ans=add(ans,c); l=(l^a^ans)%(n+1)%n; r=(r^b^ans)%(n-l)+l; } printf("%lld\n",ans); return 0; }


测评信息: