일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- dfs
- 알고리즘
- Redis
- JPA
- 다익스트라
- 헥사고날 아키텍처
- 스프링
- java
- dataframe
- 백준
- spring security
- 문자열
- 이펙티브 자바
- 파이썬
- docker
- series
- 데이터 flow
- 자바
- equals
- pandas
- 세그먼트 트리
- UML
- DP
- 포트앤어댑터 아키텍처
- ddd
- 비트마스크
- springboot
- disjoint set
- BFS
- 위상정렬
Archives
- Today
- Total
목록1086 (1)
코딩못하는사람
1086 박성원 (비트,DP)
https://www.acmicpc.net/problem/1086 1.접근 방문했던곳들의 상태를 표기하기 쉽도록 비트마스크를 사용하고 n이 15일때 15!로 숫자가 크므로 DP를 사용해줘야 한다. 2.풀이 분모를 N!,분자를 k로 나눠떨어지는 경우의 수로 두는 문제이다.그래서 나는 DP배열을 DP[방문한곳][현재 나머지]로 만들고 DP[방문한곳][현재 나머지]=방문할 수 있는 곳들에서의 경우의 수 합 으로 점화식을 만들었다.그렇게 DFS를 사용하여 방문했던 곳이 나오면 그대로 값을 리턴하고 만약 모든 곳을 방문하고 나머지가 0일 때는 1을 리턴해주는 함수DFS를 만들었다. 나머지는 (이번에 추가하는 숫자*10**현재수의 길이) 현재 나머지를 더하고 k로 나눠주면서 저장하면 된다. DP를 0으로 초기화 해..
백준 문제풀이(JAVA,Python)
2020. 8. 22. 14:57