본문 바로가기

알고리즘2

3강 수학 1 - 수학 1 이번엔 3강이다! 얼른 듣자!! 이번 강의에서는 알고리즘을 공부할 때 필요한 기초적인 수학 관련 내용이었다. 그 중에서도 나머지연산, 최대공약수, 소수와 팩토리얼에 대해 배웠다. -나머지 연산 나머지 연산은 말 그대로 수의 나머지를 구하는 연산이다. 나머지 연산을 할 때 연산을 다해서 나머지를 구하면 오래걸리기도 하고 컴퓨터의 정수는 저장할 수 있는 범위가 저장되어 있기 때문에 직접 연산하지 않고 나머지만 구한다. (직접 연산하는 경우 int나 long long과 같은 자료형의 범위를 넘어갈 수 있다) > (A+B) % M = ((A%M) + (B%M)) % M > (A*B) % M = ((A%M) * (B%M)) % M 이는 나누기의 경우에는 성립하지 않는다. 또한 빼기의 경우에는 음수가 나올 수 있기.. 2020. 8. 19.
1강 - 알고리즘 시작 강의를 들을까 말까 고민하고 있는데 밍구가 선뜻 자기 아이디를 알려주었다! 뭔가 미안한데 고맙고 음... 그래서 그냥 강의 살 돈으로 밍구 맛있는거 많이 사줘서 갚기로 했다ㅋㅋㅋ 사룽해 밍구 ios_base::sync_with_stdio(false); -> cin.tie(NULL); -> cout.tie(NULL); 보통 위의 두 줄만 추가해도 충분히 속도가 빨라지고 아래의 두 줄은 cin.tie(nullptr)/cout.tie(nullptr)로도 많이 쓰인다고 한다. 위의 경우를 사용할 경우에는 scanf/printf를 사용하면 안되고 오직 cin/cout만 써야 하므로 주의하자! - cout을 사용할 때 개행문자로 endl을 사용하는데 이를 사용하는 것보다 '\n'을 사용하는 것이 훨씬 속도가 빠르다.. 2020. 8. 6.