알고리즘/대회

Codeforces Round #636 (Div. 3)

openingsound 2020. 4. 23. 22:26

롤체 하고 너무 놀아버렸다... 다시 삭제 했음 재밌었다... 

https://codeforces.com/contest/1343/problem/A

 

Problem - A - Codeforces

 

codeforces.com

A번은 진짜 Div. 3 의 A치고는 어려웠다. $2^{n-1}$으로 나눌수 있는지를 묻는 문제였다.

https://codeforces.com/contest/1343/problem/B

 

Problem - B - Codeforces

 

codeforces.com

B는 2의 배수인 $N$을 왼쪽 절반은 짝수 오른쪽은 홀수만배치해 양쪽의 합이 같게 만드는 문제였다. 

왼쪽을 $2, 4, 6, 8...$ 로 배치하고 오른쪽을 $1, 3, 5, 7.... $로 배치할경우 양쪽의 숫자가 늘어날때마다 차이가 1씩 생긴다. 따라서 오른쪽의 마지막에 차이들의 합을 더해주면 되는데 그 결과가 홀수 이면 안되고 짝수여야만 가능하다. 

https://codeforces.com/contest/1343/problem/C

 

Problem - C - Codeforces

 

codeforces.com

배열에서 양수구간 음수구간이 반복되는데 각 구간에서 최대값들을 뽑아 더하면 되는 문제다

 

https://codeforces.com/contest/1343/problem/D

 

Problem - D - Codeforces

 

codeforces.com

구간합을 이용하는 문제였는데  범위 $[1 ; k]$ 값의 범위가 아닌 배열의 $1$번째에서 $k$번째 범위로 보고 풀어서 30분을 날렸다. 좀 아쉽다. 

https://codeforces.com/contest/1343/problem/E

 

Problem - E - Codeforces

 

codeforces.com

무방향 무가중치 그래프가 주어지고 방문하고 싶은 Node가 A, B, C가 주어지고 순서대로 방문하려고 한다. 간선 수 만큼 양의 크기를 가진 배열이 주어질때 방문하는 간선들의 합을 최소가 되게 했을때 방문한 간선의 합을 출력해야한다.

 

처음에는 간선의 수를 적게 밟는게 무조건 좋다고 생각헀는데 그게 아니여서 불가능한 경우를 제외하고는 다 봐야 한다는 것을 늦게 알았다. ㅎ