TouchStone
  Please Login
ログイン 登録
距离明年CSP第一轮: ??天 距离CSP第二轮: ??天 距离NOIP还有: ??天
 ホームページ  問題セット  試験一覧  提出状況  掲示板  統計情報
  • ホーム
  • 問題セット
  • P3678
  • 問題
  • P3678异或序列
    制限 : 時間制限 : 10000 MS   メモリ制限 : 65536 KB
    問題説明

    有一个长度为n的整数序列S,已知S1=0。序列的其余元素可通过下列公式算出:Si=(Si-1*k+v)%d

    请你求出所有(Si+Sj)异或起来的结果(1<=i,j<=n)。
    即是求(S1+S1) xor (S1+S2) xor (S1+S3) xor...xor (S1+Sn) xor (S2+S1) xor (S2+S2) xor (S2+S3) xor...xor (S2+Sn) xor...xor (Sn+Sn)

    xor表示"异或",即c++中的"^"
    入力形式

    一行,四个整数,分别表示n,k,v,d

    出力形式

    一行,一个整数,表示所求结果。

    サンプル入力 1

    3 7 2 6

    サンプル出力 1

    12

    サンプル入力 2

    5 8 3 7

    サンプル出力 2

    4

    サンプル入力 3

    10 13 15 20

    サンプル出力 3

    30

    ヒント

    1≤n,k,v,d≤106