[일반] 1C 풀이 설명'해줘'
즈티(heeda0528)
2021-10-31 01:52
추천 0
댓글 8
다른 게시글
-
아 진짜 난 왤케 멍청하지 [11][일반] 익명(110.35) | 21.10.31추천 3
-
살자마렵네[일반] pspsps(182.231) | 21.10.31추천 0
-
이제 골드 풀면 레이팅 안올라가네 [2][일기] 익명(211.36) | 21.10.30추천 0
-
앳코더는 왜 비기너콘테스트를 8문제로 늘린거지?? [1][일반] 어어(114.206) | 21.10.30추천 0
-
코드포스는 문제 어디서 가져오는 거에요 ? [6][일반] 익명(220.81) | 21.10.30추천 0
-
백준 오픈콘 참가후기 [4][일기] pspsps(182.231) | 21.10.30추천 6
-
뉴비 요즘 실버dp문제한테 대가리 깨지는중[일반] 익명(223.38) | 21.10.30추천 0
-
오픈 콘테스트 참여한거 [4][일반] pspsps(182.231) | 21.10.30추천 0
-
피린이 골드5 갔다 [3][일반] 익명(1.241) | 21.10.30추천 2
-
닙시 우승 .. 경기과학고 ...[일반] ㅇㅇㅇㅇ(112.148) | 21.10.30추천 3
x에도 나눠지고 y에도 나눠지면 xy에도 나눠짐
a_i에 대해 2 to i+1까지 모든 수 lcm에 나눠지는지 체크
아 1이구나 ㅈㅅ
1. 구간 하나에 대해 생각해보면, 뒤에서부터 보면서 그리디하게 분해해주면 됨 2. 이제 이걸 모든 구간으로 확장시키면, 뒤에서부터 보면서 i번째 인덱스까지 쪼갰을때 모든 가능한 첫원소의 값(+ 그러한 구간의 개수, 가중치 등)을 관리하면 됨 3. 시복은 O(n루트x)임, x는 10만 / 이유는 가능한 첫 원소의 값이 O(루트ai)이기 때문
이유는 [x/i](i는 정수)의 가능한 값의 개수에 대해 생각해보면됨
와... 구간 여러개를 어떻게 관리하나 했는데 이게 되네.. ㄳㄳ
각 원소를 분할할 때 끝값이 될 수 있는 서로 다른 수는 O(sqrt(N))개라서 모든 상태에 대한 dp를 O(Nsqrt(N))에 계산해 줄 수 있음
sqrt(N)이 아니라 sqrt(10^5)ㅋㅋㅋ