안녕하세요. 종만북으로 공부해서 바텀업에 대한 이해는 하나도 없이 탑다운으로만 DP풀다가 탑다운 풀이를 적용하기 어려울때도 있는거 같아서

바텀업도 공부해보고 싶어서 갤러리로 왔습니다. 물어볼 친구가 없어서 착한 갤러리 형님들께 질문 올려봅니다. ㅜ

풀었던 문제들 바텀업 풀이를 보고 있는데 정말 하나도 모르겠습니다

.

https://www.acmicpc.net/problem/1988 문제링크 입니다.

아래 사진은 맞은 사람중 랭킹 2등님 풀이입니다.


질문 1. 저는 cache[이전에 잤는지 안잤는지][현재까지 잔 횟수][인덱스] 로 3차원으로 풀었는데, 왜 2차원도 가능한건가요?
질문 2. 코드내용중 d[3000][2]{} 의 중괄호는 무슨의미인가요?

질문 3. scanf("%*d%d%*d) 의 의미를 잘 모르겠어요.

질문 4. scanf 앞에 ~는 무슨의미인가요?

질문 5. 바텀업 풀이에서 for문을 앞에서 부터 증가시키는 것과 위 코드처럼 i=n에서 i=0까지 내려가는 경우가 있는데, 무슨차이인가요?
질문 6. for문 안에 내용 잘 모르겠습니다.


하나만이라도 알려주시면 정말 공부에 큰 도움이 될거 같습니다 ㅜㅜ..