# (추상 배낭) 루오 구 P1156 쓰레기 트랩 (증가 + / 지방 선거 -)

제목 설명

카르멘 - A로부터 소중한 농부 존 Holsteins소 -에 "잘 정크"는에 떨어졌다. "가비지"은 그 깊이 로컬 농민 쓰레기 인 D (2 \ 르 D \ 르 100) D ( 2 D 1 0 0 ) 피트.

카르멘은 동일 아니라 높은 쌓여 때까지, 그녀는 잘 도망 할 수있을 것 기다린 쓰레기까지 싶어. 또한, 카르멘은 쓰레기를 먹고 그들의 삶을 유지할 수 있습니다.

각 식사를 거부하는 데 사용 또는 스택과 시간을 보내는 카르멘없이 쓰레기를 쌓아 될 수있다.

카르멘 알고 있다고 가정 미리마다 쓰레기 적하 T (0 <T \ 르 1000) T ( 0 < T . 1 0 0 0 )과 각각의 투기의 높이 (. 1 \ 르 H \ 르 25 H H ( 1 H 2 5) 수명 시간 유지할 수 가비지 잠식 (르 F \ 르 30 \ 1) (F)를 F ( 1 f를 3 0 ), 웰 밖으로 탈출 카르멘 이른 시간을 필요 현재 몸에 충분한 기간 카르멘 갖는 가정 10 . 1 에너지의 0 시간 카르멘 경우 10 . 1 0시간 내에 먹지를 카르멘 굶어 것이다.

입력 형식

첫번째 라인 2 개의 정수, D D, 및  (레 G \ 르 100 \. 1) G G ( . 1 G . 1 0 0 ), G G는 웰에 넣어되는 폐기물의 양이다.

G. 1 + G + . 1 개 라인 각각 구비 . 3 개 세 정수 : T를 (0 <T <= 1000) T는 ( 0 < T는 < = . 1 0 0 0 ), 시간 낭비 웰에 투입되고 나타내고; . (1 \ 르 F. \ 르 30) F. F. ( . 1 F. . (3) 0 )가 가비지 시간 카르멘 수명을 유지할 수 있음을 표시하고,  (. 르 H \ 르 25 \ 1) H H를 ( . 1 H 2 5. ) 쓰레기는 높이를 높일 수 있습니다.

출력 형식

그렇지 않으면 출력 카르멘이 가장 긴 오래 살아남을 수 카르멘 트랩에서 오를 수있는 경우 최초의 등산 아웃 할 때, 전체의 출력을 나타냅니다.

샘플 입출력

입력 # 1
20 4 
5 4 9 
9 3 2 
12 6 10 
13 1 1
출력 # 1
(13)

설명 / 팁

[샘플 설명]

카르멘 그녀는 먼저 쓰레기 수신 스택 : 높이 = 9. H E I G H T의 = 9].

카르멘 그녀가 첫 수신 먹을 2 2 쓰레기로부터 자신의 삶 10 1. 0 시간 연장 (13) (1). 3 시간;

스태킹 카르멘 3. 3 쓰레기, 높이 = 19. H E I G H T의 = 1. 9.;

스태킹 카르멘 . 4 4 쓰레기, 높이 = 20 인 H E I G H T = 2 0.

 

이 문제는 매우처럼 01 0 있기 때문에, 1 배낭하지만, 차이가 01 0 상태 변경을 위해 "설치하지 마십시오"1 개 배낭이 아닌, 설치하지 마십시오 여기에 쓰레기를 빨아.

함께 DP [I] [J] D의 P [ I ] [ J 받는 발생에 저장된] I , I 거절 높이 J J 수명의 최대 값. 경우 DP [I] [J]를 0 = D P [ I ] [ J ] = 0, 젖소사실생활의 값이 정확하게 때, 즉 죽어가는 상태, 0 쓰레기 캔 암소, 0(이 질문은 하루 종일 여기 붙어 있었다 ...). 초기화시 따라서 DP D P 어레이는 음의 값을 할당 받아야 [ 팁 : memset 함수 t의 I의 P는 : m E의 m S의 E 양수 t는 그 번호에 할당 된 기능하지만, 값의 다수 여기서, 실제로 없다 1과 0은 효과가 없다]

기억 초기화 : 던져 때 0 0 쓰레기, 높이 0 0, 생명 소 값 10 1 0

마찬가지로, 쓰레기 배열을 정렬, 내가 오버로드 된 연산자를 사용 (이 쓰레기에 던져,하지만 될 수 있지만 특별한 문장이 없음을 유의(아마 물 데이터)때 가중치, 즉을 추가 AT BT는 == . T = = B . T는, 상기 비교는 계속 H의 즉, 높이가 먹고 높일 수 H 등)

또 : 시간에 의해 소비되는 에너지의 각 부분 R & LT .TR [I] .T [I + 1.] R & LT [ I는 + 1이다. ] . T - R & LT [ I ] . T


코드 명 : 배낭 사이클 만약 DP가 [I]가 [J] <0 D P [ I ] [ J ] < 0이 죽은 소에 도시 된 상태가 존재 여부, 이동. 경우 DP는 [I]는 [J]를 == 0 D P [ I ] [ J ] = = 0, 빈사 상태가 다른 소에서 상태 천이에 의해 설명되며, 또한 번만 올리 동작 할 수도 시간의 다음 기간의 길이보다 에너지 이하, 단계 뛰어 없습니다, 현재 상태가 밖으로 전송할 수 없습니다, 소 죽었다. 상태 천이하면 DP D P 값도 이상이고 0 0 (가비지 지금의 배열을 지시하기 때문에), 정규  TIP2는 : T I P는 2 :이 천이 조건 수명 있어야 \ GE의 현재 길이 (시간의 기간 ≥이며 가) 약간의 구덩이

만약 배낭 루프 밖으로 이동할 수없는 경우, 즉, 트리거되지 않은 리턴 0; R & LT E T U R & LT N- 0 ] 설명 암소 튀어 후 다시 시뮬레이션 SUM은 S U는 저장된 에너지가 사용되고 해요, 만약 m에 m (에너지)만큼 (또한, 본원에서 공개 판정) 이동, 젖소의 나머지 부분 (도 슬픔)을 첨가 하였다 SUM S U를 함께 출력 m.

#INCLUDE <cstdio>
#INCLUDE <CString을>
#INCLUDE <알고리즘>
네임 스페이스를 사용하여 표준;
INT 최대 (INT의 X, INT의 Y) {x> Y를 반환 X : Y]}
의 INT (DP) [101] [1001]; // DP [I] [J]表示在扔进去第I个辣鸡,在j를的高度时的最大生命
구조체 쓰레기통
{
INT의 t, F, H;
친구 불리언 연산자 <(쓰레기 A, 쓰레기 b)
{
<BT로 복귀;
}
} R [101];
INT의 main ()
{
memset 함수 (DP, -1는 sizeof (DP));
INT의 D, g;
scanf와 ( "%의 D % d에"& D, 및 g);
경우 (나는 <= g; I = 1 int로 난 ++)
는 scanf ( "% D % D % D", R [i]를 .T, R [i]를 .F, R을 [I] .H);
정렬 (R + 1, R + G + 1);
DP [0] [0] = 10;
R [0] .F = 0;
R [0] .H = 0;
R [0] .T = 0;
난 g을 <; 위해 (ⅰ = 0 int로;

{
(DP [I] [J]이 <상태 0) 아니오 소 //
계속 없다
IF (J + R & LT [I + 1이.] .H> = D && DP가 [I] [J]가> = R & LT [I + 1.] .TR [I] .T가) //이 상태를 전송할 때, 쓰레기가 직접 밖으로 이동할 수 있습니다뿐만 아니라, 다음 쓰레기 때까지 보유하는 젖소의 에너지를 충족하기 위해 충족 다음 만.
{
의 printf ( "% D의 \의 N-"은 R & 중위 .T [이. I 1 +])
0을 반환;
}
(DP [I] [J]를 -R 및 LT IF [. I + 1] R 및 LT .T + [I] .T> 0 =)
DP [I + 1이.] [R & LT J +가 [I + 1]을 .H.] DP = [I] [J]를 -R 및 LT [I + 1.] R & LT .T + [I] .T,
IF (DP [ I는 + -R 및 중위 [I] [J]. 1] R 및 LT .T + [I] .T> = 0)
+ I DP [. 1 + I] [J] = 최대 (DP [. 1] [J], DP [I [J] -r [I + 1] + R .T [I] .T + R [I + 1] .F); // 본원 DP 맥스 [I + 1] [J ] 의 값이 가능했을
}
현재 상태는 것을 나타내는 것은 밖으로 이동하지 않은 경우 //
// 전체 먹고 다시 다시 시뮬레이션
을 준수하지 않을 경우 @ 소, 지금은 에너지가 부족하기
INT의 m = 10, 합계 = 0 ; // m은 지금 에너지는, 에너지는 이미 사용 된 합
<; (= G I가 ++. I는 INT I = 1)에 대한
{
IF (R & LT [I] .TR [. -I 1] .T m)>
{
의 printf ( "%의 D의 \ N- '+ m은 SUM)
0 복귀;

합 = R + [I] .TR [I-1] .T;
M- = R [i]를 .TR [I-1] .T;
m = R + [I] .F;
}
의 printf ( "% D \ 없음", 합계 m +);
0을 반환;
}

 

추천

출처www.cnblogs.com/little-cute-hjr/p/11422055.html