P4766 [CERC2014] Внешние Дрозды

Представьте себе портал

решение проблемы

Когда мы увидели тег на эту тему мы знаем, что это целый ряд вопросов воды дп

Очевидно, что этот интервал относится к интервалу времени

Мы Dp [я] [J] представляю минимальные инопланетяне стоимости уничтожить все время между I ~ J

Очевидно, что такое большой открытый не менее чем двумерный массив турнира

Поэтому вскоре после дискретного взгляда? ?

Переходного состояния уравнение дп [I] [J] = мин (Dp [I] [J], дп [I] [K-1] + дп [K + 1] [J] + чуждые [ID] .d)

КОД

# include <cstdio> 
#include <CString> 
#include <алгоритм>
 с помощью  пространства имен STD;
структура otherpeople {
     Int а, б, г; 
} чужеродные [ 305 ];
INT дп [ 2000 ] [ 2000 ], Ls [ 10010 ], п, т, CNT; 
Шаблон <Ьурепат е> инлайн недействительного чтение (е & х) 
{ 
    х = 0 ; регистр INT F = 1 ; символ ч = GetChar ();
    в то время как (ч> ' 9 '|| ч < ' 0 ' ) { если (ч == ' - ' ) F = - 1 ; ч = GetChar ();}
     , а (ч> = ' 0 ' && ч <= ' 9 ' ) {х = (х << 1 ) + (х << 3 ) + (ч ^ 48 ); ч = GetChar ();} 
    х * = F; 
} 
INT Основной () 
{ 
    регистре Int LEN, ID, I, J, K, Q; 
    чтения (т); 
    в то время как (T-- ) 
    { 
        чтение (п); CNT = 0; 
        MemSet (дп, 0 , SizeOf (др)); 
        MemSet (Ls, 0 , SizeOf (LS));
        для (я = 1 ; г <= п; ++ я) следующим образом (чужеродный [я] .a), следующим образом (чужеродный [я] .b), следующим образом (чужеродного [я] .d), Ls [чужеродный [я ] .a] = 1 , Ls [чужеродные [я] .b] = 1 ;
        для (я = 1 ; я <= 10000 ; ++ я) , если (LS [I]) Ls [I] = ++ CNT;
        для (я = 1 ; г <= п; ++ я) чужеродные [я] .а = Ls [чужеродные [я] .a], чужеродные [я] .B = Ls [чужеродные [я] .b];
        для (Len = 1 ; Len <CNT; ++ LEN)
        для (I = 1 , J = я + Len, J <= CNT; ++, J ++ я) 
        { 
            ид = - 1 ;
            для (Q = 1 , Q <= п; ++ , д) , если (я <= чужеродные [Q] .a && J> = чужеродные [Q] .b && (ID == - 1 || чужеродные [ID] .d <чужеродные [Q] .d)) ID = д;
            если (идентификатор == - 1 ) продолжать ; 
            дп [I] [J] = 0x7fffff ;
            для (к = чужеродные [ID] .a, K <= чужеродные [ID] .b; ++ , к) дп [I] [J] = мин (дп [I] [J], дп [I] [к- 1 ] + дп [K + 1 ] [J] + чуждые [ID] .d); 
         } 
         Е (" % D \ п " , дп [ 1 ] [CNT]); 
    } 
    Возвращает  0 ; 
}

 

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

отwww.cnblogs.com/yearning/p/11455077.html