洪水の問題、しかし、私は死ぬ2つのツリーラインの影の......
アルゴリズムのための:データの50%: 配信ポイント、時間複雑度によって直接的O(KN)。
アルゴリズムII:8のための:データの0% 、我々は、i番目の行により1及びX、j番目の列ではないいずれかを実行し、Yを掛けた場合、別の場所の正の解を用いて計算結果のみ(I、jは)これは一つの要素です。そして、この数はK未満である2のGe。したがって、我々は、これらの要素は、その上に再び算出される時間複雑性O(K分離2)。
アルゴリズムIII:10のための0%データ:設けH [i]はi番目の行の合計乗算の数であり、L [j]は、j番目の列表す総乗算の数を、マップ[I] [j]の問題=の意味に従って(I -1)* M + J、明らかに最後$ ANS = \和\ limits_ { i = 1} ^ {N} \和\ limits_ {J = 1} ^ {M} H [i]はL * [J](* (1-I)+ J Mは*)$ 、それほど複雑さはO(NM)、次いで合計で除去される、 ANS = $ \ SUM \ limits_。1 = {I} $} ^ {N-H [I] * (ΣL[J] * J) + $ \ SUMの\のlimits_ 1} = {J ^ {M}の$ L [J] * (σH[I] *(1-I)* m)のような複雑ですのO(M + N)。
1の#include <iostreamの> 2の#include <cstdioを> 3 の#define LL長い長 4 の#define MAXN 1000010 5 の#define MOD十億七 6 使って 名前空間STD。 7 LLさh [MAXN]、L [MAXN]。 8 int型N、M、K。 9 チャー OP。INT X、Y。 10 LLのlj_j [MAXN]、hi_i [MAXN]。 図11は、 メイン()符号付き 12 { 13 CIN >> N >> M >> kは、 14 のために(INT J = 1 ; J <= Mであり、j ++)L [J] = 1; 15 のために(int型 i = 1 ; iが<= N; I ++)は時間[I] = 1 。 16 のために(int型 i = 1 ; iが= Kを<; Iは++ ) 17 { 18 CIN >> OP >> X >> Y。 19 であれば(OP == ' R ')H [X] = hの[X] *のy%のMOD。 20 他の L [X] = 1 [X] *のy%のMOD。 21 } 22 LL sumj = 0、墨= 0 。 23 のための(int型 J = 1; J <= Mであり、j ++)lj_j [J] Lが= [J] * j個%のMOD、sumj =(sumj + lj_j [J])%MOD。 24 のために(int型 i = 1 ; iが<= N; iが++)hi_i [I] = H [I] *(I- 1)%MOD * m個の%のMOD、墨=(スミ+のhi_i [I])%MOD。 25 LL ANS = 0 。 26 のために(int型 i = 1 ; iが++; iが<= N)([I] * sumj ANS + H)%= ANS MOD。 27 のために(INT J = 1 ANS =(ANS + L [j] *墨)%; J <= M J ++)MOD。 28 のprintf(" %LLDする\ n " 、ANS)。 29 }