Codeforcesラウンド#626(DIV。2)B.カウント副矩形

トピック接続:https://codeforces.com/contest/1323/problem/B

問題の意味:サイズNアレイ、サイズMのアレイA、Bに、Cアレイは、二次元配列c [i]は[J] = [I] * B [J]であり、kは矩形領域Qでありますいくつかがあります。

溶液:kは、I /アレイ1に隣接bの場合は、すべての係数kは、最初の配列に格納され、その後トラバース因子、隣接配列にI-1を表す、kが形成された矩形領域でありますその後、全ての各要因の下での回答まで追加、Bの数を乗じた配列で、配列の予選試合の数を計算するために、(それについてあなた自身の脳を構成します)。

 

1の#include <ビット/ STDC ++ H>
 2  の#define長い長llの
 3  使用して 名前空間STDを、
4  
5  int型 A [ 100100 ]、B [ 100100 ]。
6  int型 C [ 100100 ]。
7  
8  INT メイン()
 9  {
 10      INT N、M、K。
11      CIN >> N >> M >> K。
12      のためにINT iが= 0 ; iが<N; I ++)CINは>> [I]。
13      のためにINT I = 0; I <M、I ++)CIN >> B [i]は、
14      INT P = 0 15      のためのINTは私= 1 ; I ++; iは<= K * ){
 16          であれば(K%のI == 0 ){
 17              C [P ++] = Iと、
18              であれば(私は== K / I)続けます19              C [P ++] = K / I。
20          }
 21      }
 22      LL ANS = 0 23      のためにINT iが= 0 ; I <P; I ++ ){
 24          INTはCNT = 0 ;
25          LL X = 0、Y = 0 26          のためにINT J = 0 ; J <nであり、j ++ ){
 27              であれば([J] == 1)CNT ++ 28              他の CNT = 0 ;
29              であれば(CNT == C [i])とCNT - 、X ++ 30          }
 31          、CNT = 0 32          のためにINT J = 0 ; J <M J ++ ){
 33              であれば(B [J] == 1)CNT ++;
34              他の CNT = 0 35              であれば(CNT == K / C [i])とCNT - 、Y ++ 36          }
 37          ANS = ANS + X * Y。
38      }
 39      COUT << ANS << ENDL。
40      リターン 0 ;
41 }

 

おすすめ

転載: www.cnblogs.com/lilibuxiangtle/p/12436420.html