atcoder ABC102
h tps // 아 t 여기 r. jp / 이런 sts / 아 bc102
C 문제
정책
모든 ai-i와의 절대치가 최소가 되는 값 b를 구하는 문제.
수열의 개수가 최대로 10의 5승까지 있으므로 모든 값에 대해 절대치의 합을 구해 가는 것은 시간에 맞지 않는다. 여기서, 수열 a-i와의 절대치를 생각해 보면 분명히 수열을 소트하여 중간의 수치를 b로 하면 절대치의 합이 최소가 되는 것을 알 수 있다.
D 문제
정책
우선 3개의 구획을 전 탐색을 하고 싶지만 수열의 수에 주목하면 10의 5승이므로 분명히 늦지 않기 때문에, 전 탐색할 수 있는 것은 하나의 구획만이 된다. 그래서 어떤 구획을 선택할지 생각해 보면 중간의 구획을 선택하면 구획의 좌측은 우측에 관여할 수 없고 구획의 우측은 왼쪽에 관여할 수 없기 때문에 고속으로 구획의 최적 장소를 알 것 같다. . 따라서, 중간의 구획을 전체 탐색했을 때, 고속으로 좌의 구획의 위치와 우측의 구획의 위치를 구하는 것을 생각한다. 여기서, 중간의 구획보다 좌측을 생각하면 좌측의 수열의 합은 일정하다. 마찬가지로 오른쪽의 합도 일정합니다. 그림으로하면 아래와 같이 된다.
여기서는 좌측만을 생각한다(우측도 마찬가지로 하여 구할 수 있다). 좌측의 합을 S, 왼쪽의 구획보다 좌측의 합을 A, 우측을 S-A로 하고, 수직선상으로 나타내면 다음과 같이 된다.
전술한 바와 같이, S는 변하지 않기 때문에, S/2도 일정하다. 주제를 만족시키기 위해서는, 이 A로부터 S-A의 범위를 가능한 한 좁게 하면 된다. 즉, A를 S/2로 천화하면 된다. 주의해야 할 것은, 이분 탐색을 할 때, A를 S/2를 넘었을 때와, 그 1개전을 양쪽 모두 구해, 보다 A와 S-A의 절대치가 작은 쪽을 채용하는 것이다.
Reference
이 문제에 관하여(atcoder ABC102), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryoooooory/items/b6c737889ddd40ae775c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
모든 ai-i와의 절대치가 최소가 되는 값 b를 구하는 문제.
수열의 개수가 최대로 10의 5승까지 있으므로 모든 값에 대해 절대치의 합을 구해 가는 것은 시간에 맞지 않는다. 여기서, 수열 a-i와의 절대치를 생각해 보면 분명히 수열을 소트하여 중간의 수치를 b로 하면 절대치의 합이 최소가 되는 것을 알 수 있다.
D 문제
정책
우선 3개의 구획을 전 탐색을 하고 싶지만 수열의 수에 주목하면 10의 5승이므로 분명히 늦지 않기 때문에, 전 탐색할 수 있는 것은 하나의 구획만이 된다. 그래서 어떤 구획을 선택할지 생각해 보면 중간의 구획을 선택하면 구획의 좌측은 우측에 관여할 수 없고 구획의 우측은 왼쪽에 관여할 수 없기 때문에 고속으로 구획의 최적 장소를 알 것 같다. . 따라서, 중간의 구획을 전체 탐색했을 때, 고속으로 좌의 구획의 위치와 우측의 구획의 위치를 구하는 것을 생각한다. 여기서, 중간의 구획보다 좌측을 생각하면 좌측의 수열의 합은 일정하다. 마찬가지로 오른쪽의 합도 일정합니다. 그림으로하면 아래와 같이 된다.
여기서는 좌측만을 생각한다(우측도 마찬가지로 하여 구할 수 있다). 좌측의 합을 S, 왼쪽의 구획보다 좌측의 합을 A, 우측을 S-A로 하고, 수직선상으로 나타내면 다음과 같이 된다.
전술한 바와 같이, S는 변하지 않기 때문에, S/2도 일정하다. 주제를 만족시키기 위해서는, 이 A로부터 S-A의 범위를 가능한 한 좁게 하면 된다. 즉, A를 S/2로 천화하면 된다. 주의해야 할 것은, 이분 탐색을 할 때, A를 S/2를 넘었을 때와, 그 1개전을 양쪽 모두 구해, 보다 A와 S-A의 절대치가 작은 쪽을 채용하는 것이다.
Reference
이 문제에 관하여(atcoder ABC102), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryoooooory/items/b6c737889ddd40ae775c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
우선 3개의 구획을 전 탐색을 하고 싶지만 수열의 수에 주목하면 10의 5승이므로 분명히 늦지 않기 때문에, 전 탐색할 수 있는 것은 하나의 구획만이 된다. 그래서 어떤 구획을 선택할지 생각해 보면 중간의 구획을 선택하면 구획의 좌측은 우측에 관여할 수 없고 구획의 우측은 왼쪽에 관여할 수 없기 때문에 고속으로 구획의 최적 장소를 알 것 같다. . 따라서, 중간의 구획을 전체 탐색했을 때, 고속으로 좌의 구획의 위치와 우측의 구획의 위치를 구하는 것을 생각한다. 여기서, 중간의 구획보다 좌측을 생각하면 좌측의 수열의 합은 일정하다. 마찬가지로 오른쪽의 합도 일정합니다. 그림으로하면 아래와 같이 된다.
여기서는 좌측만을 생각한다(우측도 마찬가지로 하여 구할 수 있다). 좌측의 합을 S, 왼쪽의 구획보다 좌측의 합을 A, 우측을 S-A로 하고, 수직선상으로 나타내면 다음과 같이 된다.
전술한 바와 같이, S는 변하지 않기 때문에, S/2도 일정하다. 주제를 만족시키기 위해서는, 이 A로부터 S-A의 범위를 가능한 한 좁게 하면 된다. 즉, A를 S/2로 천화하면 된다. 주의해야 할 것은, 이분 탐색을 할 때, A를 S/2를 넘었을 때와, 그 1개전을 양쪽 모두 구해, 보다 A와 S-A의 절대치가 작은 쪽을 채용하는 것이다.
Reference
이 문제에 관하여(atcoder ABC102), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryoooooory/items/b6c737889ddd40ae775c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)