Эриксен экран + дерево сегмент --cf731F

Последовательная перечислены из каждого номера 2e5-1 карты в качестве ведущего, а затем искать номер сегмента больше, чем число его сложности здесь гармонический ряд ln2e5, т.е. сложность Eppendorf решето ,,

# include <бит / STDC ++ ч.>
 с использованием  пространства имен STD;
#define LL долго долго
 #define N 200005
 INT CNT [N], п; 

#define lson л, м, к.т. << 1
 #define rson т + 1, г, к.т. << 1 | 1 
LL Num [N << 2 ];
недействительным обновление ( INT поз, INT v, INT л, INT г, INT к.т.) {
     если (л == г) { 
        Num [RT] + = v;
        вернуться ; 
    } 
    INT т = L + R >> 1 ;
    если(поз <= м) обновление (позы, V, lson);
    остальное обновление (позы, v, rson); 
    Num [RT] = Num [к.т. << 1 ] + Num [к.т. << 1 | 1 ]; 
} 
LL запросов ( INT L, INT R, INT л, INT г, INT к.т.) {
     если (L <= L && R> = г) {
         возвращение Num [RT]; 
    } 
    INT т = L + R >> 1 ; 
    LL разрешение = 0 ;
    если (L <= т) + = разреш запроса (L, R, lson);
    если (R> м) Рез + = запрос (L, R, rson);
    вернуться Рез; 
} 

INT основных () { 
    CIN >> п;
    для ( INT I = 1 ; г <= п; я ++ ) {
         INT х; зсапЕ ( " % d " , & х); 
        CNT [х] ++ ; 
    } 
    
    LL ANS = 0 ;
    для (LL я = 200000 ; я> = 1 ; i--) , если (CNT [я]) { 
        LL TMP = 0 ; 
        обновление (я, CNT [I], 1 , 200000 , 1);
        для (LL J = 1 , J * г <= 200000 ; j ++ ) 
            TMP + = запрос (J * я, мин (200000ll, (J + 1 ) * i - 1 ), 1 , 200000 , 1 ) * г * J; 
        ANS = макс (ANS, TMP); 
    } 
    СоиЬ << анс << епсИ; 
}

 

рекомендация

отwww.cnblogs.com/zsben991126/p/11440213.html