5-L 14889번 - 스타트와 링크 시간복잡도 계산을 어떻게 해야 할지 모르겠습니다.
461
작성한 질문수 2
안녕하세요 선생님. 문제를 풀다 이런 비트마스킹을 이용한 조합 문제에서 1억이 넘는지 확인을 어떻게 해야 할지 궁금해서 질문 남깁니다.
제 생각으로는 비트를 20개를 사용하니 2^20 - 1 만큼 연산을 하지만 비트가 N /2 만큼 켜진 것이 아니면 다음 연산으로 넘어가니 20C10 으로 보는것이 맞는건가? 라고 추측을 하는데 혹시 이게 맞을까요?
만약 이게 맞다면 20!이나 되는 큰 숫자를 시험도중에 대략적인 계산을 해보기에는 너무 크다는 생각이 드는데 TLE가 날지 어떻게 계산을 해봐야 할지 막막한데 방법이 있을까요?
답변 1
0
안녕하세요 aass님 ㅎㅎ
제 생각으로는 비트를 20개를 사용하니 2^20 - 1 만큼 연산을 하지만 비트가 N /2 만큼 켜진 것이 아니면 다음 연산으로 넘어가니 20C10 으로 보는것이 맞는건가? 라고 추측을 하는데 혹시 이게 맞을까요?
>> 2 ^ 20이 맞습니다. 20C10으로 해도 되구요. 정확히는 이 문제의 시간복잡도는 2 ^ 20 * 20이라고 보면 됩니다. (해당 정점 확인하는 dfs 로직이 있으니)
만약 이게 맞다면 20!이나 되는 큰 숫자를 시험도중에 대략적인 계산을 해보기에는 너무 크다는 생각이 드는데 TLE가 날지 어떻게 계산을 해봐야 할지 막막한데 방법이 있을까요?
>> 엥 갑자기 20!이 나와버렸는데 2 ^ 20은 100만밖에 안되요. 20!는.. .훠어얼씬 큰수구요.(참고로 20!은 2432902008176640000 입니다.) 100만정도는 충분히 가능합니다. 그리고 aass님이 생각하신 1억정도면 충분히 아 이거 시간초과가 나겠구나 라고 생각하는것도 좋습니다.
감사합니다.
1-E질문입니다!
0
515
2
3-L 틀린 부분 피드백 부탁드립니다.
0
816
2
1-A문제 순열재귀함수 질문입니다.
0
380
1
1-A 일곱난쟁이문제입니다
0
454
1
문제 풀 때 방향성에 대해
0
797
1
맥에서 vs code로 실행 관련 질문입니다
0
520
1
17071번 메모리 초과
0
385
1
1-C질문입니다!
0
417
2
2-B BFS 시간초과질문
0
629
2
1-O 13번 라인
0
439
1
6-J 놀이공원 문제 질문
0
380
1
구현관련 질문
0
482
1
강의 교안
0
317
1
실력을 더 올리고나서 강의를 보는 것이 맞을까요?
0
545
1
안녕하세요! 재귀함수에 관해서 질문드립니다
0
535
1
1-K
0
472
2
3-G번 질문있습니다.
1
472
3
3-C 실행 시간 질문드립니다.
0
492
1
4-A 문제 풀이 질문있습니다.
0
590
2
비트마스킹 연산자 "1의 보수" 영문 표기법
0
433
1
격자탐색 문제에서 BFS 시간복잡도 질문드립니다.
0
333
1
3-O go 함수 질문 드립니다.
1
444
2
4-A 출력 질문
0
302
1
1주차 1-O 질문드립니다
0
254
1





