http://blog.naver.com/PostView.nhn?blogId=vosej_v&logNo=50176084445&redirect=Dlog&widgetTypeCall=true&directAccess=false
O(Nlog(logN)) https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes#Algorithm_complexity
https://wndproc.tistory.com/entry/C-%EC%B6%9C%EB%A0%A5-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0setw-seft-setprecision #include using namespace std; int mat[10][10]; int main(void) { ios_base::sync_with_stdio(false); cin.tie(nullptr); // 우측 정렬 cout.setf(ios::right); // 좌측 정렬 // cout.setf(ios::left); for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { cout
1. 삭제가 O(1)인 list를 사용한다. 단, 원소 탐색이 불편하고 O(N)이라는 단점이 있다 2. 일반적으로 많이 사용하는 vector 혹은 deque의 경우에, pair이라는 자료형을 효과적으로 사용해보자
algorithm 헤더에 있는 함수로 n번째 요소를 기준으로 정렬을 하는 것이다 지정한 요소 위치에서만 정확한 값을 배치하고 나머지는 좌우로 구간을 분할한다. 좌우 구간은 정렬을 보장하지 않는다
모든 dp 문제는 브루트포스로 문제를 풀 수 있다 하지만 역은 성립하지 않는다 만일 dp로 풀 수 있는데, 브루트포스로 풀었다면 문제를 잘못 푼 것이다