링크 : http://codeforces.com/contest/883/problem/J 풀이는 생각보다 금방 떠올렸는데 구현하면서 실수를 너무 많이 해서 계속 틀렸다. 대회였으면 못 풀었을 것 같다. 생각을 좀더 엄밀하게 정리하고 증명한 다음에 코드를 짜는 습관을 들여야 하는데 매번 그게 잘 안되는 듯. 더 신경써야 할 것 같다. 문제 요약: m개의 철거 예정인 빌딩이 있다. n일동안 철거를 진행할텐데, 빌딩을 철거하는데에는 비용이 든다. pi = i번째 빌딩을 제거하는데 필요한 비용. 그리고 n일동안 날마다 철거를 위한 지원금 ai가 들어온다(ai=i번째 날에 받은 지원금). 여기에 추가적으로 bi라는 변수가 빌딩마다 하나씩 주어지는데, i번째 날에 j번째 빌딩을 제거하기 위해서는 bj
문제 링크 : http://codeforces.com/problemset/problem/662/B N개의 정점과 M개의 엣지로 이루어진 그래프(N 빨강) 변하게 만들 수 있다. 이 때 최소 개수의 정점만 선택해서 모든 엣지의 색을 같게 만들 수 있는 방법을 구하는게 문제. 생각보다 단순한 방법으로 풀 수있는데, 일단 전체 엣지를 파랑으로 만들지 빨강으로 만들지 정해서 둘 중에 답이 더 작은 걸 답으로 고른다고 하자. 만약에, 그래프에서 임의의 정점 v1에 대해 그 정점 v1과 v2가 연결되어 있고 색깔은 빨강, 그리고 v1과 v3가 연결되어 있고 색깔은 파랑이라고 하자. 전체 그래프를 빨간색으로 바꾸려고 할 때, 만약 정점 v1을 선택한다면 v2는 반드시 선택해야만 하고, v1을 선택하지 않는다면 v2도..
링크 : http://codeforces.com/contest/876 5838점, 최종 순위 74위. 드디어 퍼플 복귀 가능할 듯! 간만에 잘쳐서 뿌듯한 대회였다. E번이 그리디하게 풀었는데 이게 답이 맞을 지 아닐 지 모르겠어서 시스템 테스트 끝날 때까지 전전긍긍하다가 결국 맞아서 너무 기분이 좋았다. A. Trip For Meal 그리디 문제인데, 문제를 제대로 안 읽고 빨리 풀어서 냈다가 한 번 틀려서 50점 감점 먹었다. 나는 일일히 모든 경우를 다 테스트하는 식으로 풀었는데 다른 사람 풀이를 보니 a,b,c 세 개중 어떤게 최솟값이냐에 따라 한 번에 계산할 수 있는 방법이 있었다. 얼핏 그런 방법이 있지 않을까 생각은 했었는데 어차피 A번이고 빨리 푸는게 장땡일 것 같아 처음 생각난 풀이 그냥 ..
링크 : http://codeforces.com/contest/864 문제도 쉬웠고 잘 풀려서 프리테스트까지는 14~5등 정도였는데 C번에서 진짜 멍청한 실수를 해가지고 시스템 테스트에서 나가는 바람에 153등으로 미끄러졌다 ㅠㅠ 바로 퍼플 다시 복귀할 좋은 찬스였는데 참 아쉽. 코드포스는 할 때마다 내가 참 주의성 부족하게 코드를 짠다는 걸 느끼게 된다. 좀 더 엄밀하게 코드 테스트하는 습관을 들여야하는데... A. Fair Game문제 설명에 충실하게 짜기만 하면 된다. B. Polycarp and Letters이 문제도 그냥 맨 앞에서부터 주어진 문자열 따라가면서 문제 조건에 따라 처리해주면 그리 어렵지 않게 해결할 수 있다. A번도 그렇고 B번도 그렇고 요런 문제들은 풀이를 어떻게 설명해야 할 지..