본문 바로가기

직장인인강31

패스트캠퍼스 챌린지 27일차 주말..! 이지만 역시 오늘도 거를 수 없다..! fft는 뒤로 미루기로 했지만, 아직 나에겐 큰 수의 소인수분해를 위한 알고리즘을 공부해야한다는 사명이 남아있었다. 그래서..! 오늘 한 것은 바로 밀러-라빈 소수 판정과, 폴라드 로 인수 분해 알고리즘이었다. 밀러-라빈 소수 판정법은 기본적으로 페르마의 소수판정법을 여러 개의 수에 대해 실행하는 것이고, 시간 복잡도가 O(klog^3(n))이다. 폴라드 로 인수 분해 알고리즘은 유사 난수의 mod n이 mod p에 대해서 먼저 순환을 갖게 되는 것을 이용하는 알고리즘으로 O(n^(1/4)) 였다. 이 두 개를 적절히 조합하면 소인수분해 알고리즘을 만들 수 있었고, 이를 이용해서 3개의 다이아 문제를 풀어내었다..! 그러고 나서 c++수업을 들었다..! .. 2021. 11. 27.
패스트캠퍼스 챌린지 26일차 오늘은 FFT관련 강의를 여러 개 들었는데 결국 별로 이해할 수 있는 게 없었다.. 신호처리에 관한 이론 공부를 더 자세히 해야 하는 걸까나.. 혁펜하임이라는 유튜브 사이트가 있던데, 이를 완벽하게 이해하려면 처음부터 강의를 듣는데 꽤나 오랜 시간에 걸릴 것 같다. 제대로 된 책을 사서 공부를 해야 할까 싶기도 하다. FFT에서 공부 의욕도 완전히 잃고.. 오늘은 좀 우울하다. 며칠 째 제대로 공부되는 게 없다.. 너무 어렵고 이해하더라도 구현 단계에서 에러가 발생한다.. 스플레이 트리를 이용해서 구간 쿼리 문제를 풀어보려고도 했었는데.. 이상하게 에러가 떠서 fail.. 기본적인 구현 자체는 크게 문제가 없는 것 같은데.. 어디서 문제가 생긴 걸까.. 도저히 뭐가 문제인지 알아낼 수가 없다.. ㅠ 결국.. 2021. 11. 26.
패스트캠퍼스 챌린지 25일차 생각해보니 이제 4일밖에 안 남았다..! 오오..! 좋아 좋아 ㅎㅎ 아직 강의는 좀 많이 남아있긴 하지만 ㅠㅠ 그래도 갓 생살기 성공까지 얼마 안 남았다..! 파이팅! 오늘 일어나서 한 것은 바로 큰 수와의 전쟁이었다..! c++로 꼭 풀어보고 싶은 문제가 있었고 그것은 "큰 수의 곱셈"이었다. 큰 수의 곱셈은 길이가 너무 길기에, 하나의 변수에 담을 수 없고, 무식하게 반복문을 돌릴 수도 없다..! 따라서 특별한 알고리즘이 필요하고, 이 문제 같은 경우에는 고속 푸리에 변환(FFT)이 필요하다. 다만 FFT를 잘 이해를 못 하겠다.. ㅠ 적절하게 정리되어 있는 자료를 받아서 제대로 공부할 수 있으면 좋겠는데.. 강의도 딱히 없고.. ㅠ 어떻게 공부를 해야 할지 잘 감이 안 온다. 결국 큰 수와의 전쟁은.. 2021. 11. 25.
패스트캠퍼스 챌린지 24일차 지난밤에 배가 너무 고픈 나머지.. 라면을 부숴먹어 버렸다.. 그 이후 잠에 들지를 못했는데.. 역시나 컨디션 난조다.. ㅠ 제때제때 밥 잘 먹고, 따뜻하게만 하면 될 텐데.. 내 생활 습관 때문인가 보다 ㅠ 오늘은 제 때 맛있는 거 먹고 잘 자야겠다.. ㅠ 오늘은 별거 없이 간단하게 lazy segtree 문제 하나 풀고, 유튜브 영상 촬영하고, 그 이후로는 강의를 들었다. 배운 내용은 첨자 연산자 오버로딩과 대입 연산자 오버 로딩 및 복사 생성자였다. 일단 오늘 배운 내용..! 가히 혁신적인 내용이었다..! 아니... 아니..! [ ]를 오버로딩할 수 있다는 게 말이나 되는가..! 이렇게 하면 LinkedList를 구현했을 때 [ ]로 원소 순서에 접근하는 것이 가능해진다..! 오오.. 그리고 수업 .. 2021. 11. 24.