この質問に関しては、確かにそう1つの以上の可変制御が良好ではない、接頭辞を考えると、私たちは星のすべての色は必ずしも同じことを見つけるという問題があります
我々は、状態のDP Fを期待するので、[K] [i] [j]は、kの接頭辞としてエネルギースターを表し、したがって簡単に維持するために。私たちは星のエネルギーが10を超えていないことが判明ので、
書式#include <iostreamの> の#include <CStringの> の#include <cstdioを> する#include <マップ> 書式#include <アルゴリズム> に#define ULL符号なしの長い長い 使用して 名前空間はstdを、 typedefの長い 長いLL。 CONST INT N = 1E5 + 10 。 INT F [ 12 ] [ 110 ] [ 110 ]。 int型のmain(){ int型、nは cinを >> N; int型Q、C。 CIN >> Q >> C。 int型K、I、J。 以下のための(iは= 1 ; I <= N; I ++ ){ int型のX、Y、Sであり; scanf関数(" %D%D%D "、およびX&Y、&S)。 F [S] [X] [Y] ++ ; } のための(K = 0 ; K <= C; K ++ ){ ための(iは= 1 ; I <= 110 I ++; ){ ため(J = 1 ; J <= 110 ; J ++ ){ F [k]は[I] [J] + =(F [k]は[I- 1 ] [J] + F [k]は[I]、[J- 1 ] -f [K] [I- 1 ] [J- 1]); } } } LL ANS = 0 。 一方、(q-- ){ ANS = 0 。 int型トン、X1、Y1、X2、Y2; scanf関数(" %D%D%D%D%D "、&T、X1、Y1&、&X2、&&Y2)。 LL RES = 0 。 以下のために(私は= 0 ; iが<= C; I ++ ){ RES = F [i]が[X2] [Y2] -f [I] [X1- 1 ] [Y2] -f [I] [X2] [Y1- 1 ] + F [i]が[X1- 1 ] [Y1- 1 ]。 ANS+ = RES *((I + T)%(C + 1 ))。 } COUT << ANS << ENDL。 } }