yukicoder No.896 - 友達以上恋人未満

Source

ニコニコミュニティ
問題文

問題概要

省略

解法

省略

cLayversion 20190925-1)のコード

C++に変換後のコードはこちら

int N, M, mulX, addX, mulY, addY, MOD;
int X[1000], Y[1000], A[1000], B[1000];
ll z[16777216];
int ps, p[1077871];
ll res[1000], res2;

{
  ull x, y, a, b, mm;

  rd(M,N,mulX,addX,mulY,addY,MOD);
  rd(X(M),Y(M),A(M),B(M));
  ps = Prime(MOD, p);

  rep(i,M) z[X[i]] += Y[i];
  x = X[M-1];
  y = Y[M-1];
  mm = MOD - 1;
  REP(i,M,N){
    x = (x * mulX + addX) & mm;
    y = (y * mulY + addY) & mm;
    z[x] += y;
  }

  rep(k,ps) for(i=(MOD-1)/p[k]; i; i--) z[i] += z[i * p[k]];
  rep(i,M) res2 ^= res[i] = z[A[i]] if[(ll)A[i]*B[i] < MOD, - z[A[i]*B[i]]];

  a = A[M-1];
  b = B[M-1];
  rep(i,M,N){
    a = ((a * mulX + addX + mm) & mm) + 1;
    b = ((b * mulY + addY + mm) & mm) + 1;
    res2 ^= z[a] if[a*b < MOD, -z[a*b]];
  }

  wtLn(res(M), res2);
}

Current time: 2024年04月25日21時19分34秒
Last modified: 2019年09月28日09時44分41秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: