배낭문제 비스무리한 dp문제 같아서 그리 접근햇는데 못풀었다 ㅠㅠ
[일반] c어케품?
익명(219.254)
2022-05-01 01:36
추천 0
댓글 7
다른 게시글
-
D씨발 대체 뭐가 문젠데 시발 진ㅉ꺼 ㄹ뚸ㅏㅠㄷ랴ㅕㄶㅇㅋ ㅣ퍄[일반] 익명(211.41) | 22.05.01추천 0
-
c번 팰린드롬이 왜 있는지 너무 늦게 깨달았다 [3][일반] 익명(118.41) | 22.05.01추천 0
-
구현 문제 맞으니까 뿌듯 [5][일반] 익명(118.33) | 22.05.01추천 0
-
백준 프로그래머스 코드포스 다 다른게 뭐야? [10][일반] 익명(223.39) | 22.05.01추천 0
-
스트릭 리페어 뭐냐 [1][일반] 익명(49.170) | 22.05.01추천 0
-
dp나 그리디 팁 같은거 있을까? [2][일반] 익명(222.232) | 22.05.01추천 0
-
std::sort 질문 [4][질문] 익명(14.52) | 22.04.30추천 0
-
니들 지금 풀고 있는 건 뭐야? [3][일반] 익명(220.85) | 22.04.30추천 0
-
랜덤디펜스가 어케하는거임 ? [3][일반] 익명(14.48) | 22.04.30추천 0
-
난 B1 되게 간단하게 풀었는데 [2][일반] Glacier(yoooo9) | 22.04.30추천 1
팰린드롬인 숫자 n개를 뽑아놓고 n*n 배열 만든다음, n이상의 팰린드롬으로 구현되는 합의 개수를 저장하고 dp 때리면 될 거 같음. 증명은 업솔빙으로 한다 ㅅㅂ
배낭 dp맞음 근데 수를 여러번 쓸 수 있으니까 뒤에서부터가 아니라 앞에서부터 바텀업 처리해주면 됨 for(int i=0; i<=40000-x; i++) dp[i+x]+=dp[x] (for all x , x = palindrome)
하 시팔 ㅠㅠ
그게 어떻게 발상함? 팰린드롬 수를 다 구현했고, 4만 크기를 2차원으로 표현하면 16억이라 이 부분부터 꽉 막혔는데 ㅠㅠ
팰린드롬 개수가 500개니까 어떻게든 500*40000에 풀 생각을 해야되는데 16억으로 접근해서 막히는거지 dp문제를 많이 풀어보셈
식이 좀 이상한거 같음...
dp[0]=1 하고 dp[i+x] += dp[i] 인거 같음