반응형

알고리즘/atcoder 26

AtCoder Beginner Contest 216 A부터 E까지 업솔빙

AtCoder Beginner Contest 216 A부터 E까지 업솔빙 생각보다 C번에서 헤맸는데, 이 문제를 조금 더 빨리 풀었다면 더 높은 등수가 나왔을걸이라는 생각이 계속 난다. D번하고 E번은 문제를 보고 깔끔히 포기했다. E번은 솔직히 조금 냄새가 나긴 했는데, 이분탐색이라는 것은 전혀 생각 못했다. 도대체 어떤 문제를 이분 탐색으로 풀어야 하는거야? 이분탐색이라는 것을 알아도, 숫자가 조금만 달라도 값이 완전히 달라지기 때문에 이것도 어렵다. D번은 그냥 큐 시물레이션 문제였는데, 생각보다 메모리 제한이 널널해서 내가 생각한대로 그대로 풀었으면 손쉽게 풀었을 것 같다는 느낌이 들었다. 메모리제한 신경 안쓰고 일단 풀어볼걸 이라는 생각을 했다. 이번 대회에서 유난히 lambda를 자주 사용하는..

AtCoder Beginner Contest 215 A부터 D까지 업솔빙

AtCoder Beginner Contest 215 A부터 D까지 업솔빙 이전에 했던 결심 바로 취소하게 만든 E번 문제... 비트필드 + DP는 나한테 아직 버검다. 외판원순회 문제부터 풀고 와야하는데 내 머리에 아직 한계같다. 그리고 D번 문제는 구현까지 완료했는데, 자꾸 Runtime Error가 나와서 뭐가 문제인가 확인했을때, stack memory 초과였을때 드는 허탈함은 이루 말할 수 없다. 배열 선언을 heap 공간인 전역 변수에 선언하니까 바로 ACㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이 문제플 풀면서 여러가지 많이 배운것 같다. 나머지 A, B, C는 그냥 간단한 문제. 이번 대회에서 배운 것은 c++의 stack 메모리 한계값 $O(nlogn)$의 약수 구하기 알고리즘 에라스토테네스의 채 응용 문제..

AtCoder Beginner Contest 214 A부터 D까지 업솔빙

AtCoder Beginner Contest 214 A부터 D까지 업솔빙 이제 Atcoder에서 마지막으로 푼 문제에다 +1개 문제까지 해서 업솔빙을 하려고 한다. 우연히 *1500문제를 풀어봤는데, 내가 풀 수 있을 것 같은 문제도 있었던 것 같아서 계속 답지 보면서 이해하려고 노력하고 있다. 계속 *800, *1000 문제만 풀면 계속 그 수준이지만 더 높은 단계 문제를 이해하고 풀 수 있다면 당연하게도 레이팅이 올라갈 것같다. 이번 대회에서 배운 것은 DSU(분리집합)과 최단거리 결합한 응용문제 DSU의 활용 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - New Generation ABC (*4) 접기/펼치기 문제 설명 지금은 2..

AtCoder Beginner Contest 213 A부터 E까지 업솔빙

AtCoder Beginner Contest 213 A부터 E까지 업솔빙 D번까지 다 푼 대회이다 22. 이제 브라운 컬러인 400~800 난이도는 Atcoder에서 좀 많이 푸는 실력을 갖춘것 같다. 알고리즘을 몰라도 깡 구현으로 푼 C번 문제같은 경우도 있고, D번문제는 DFS간단한 변형이고, E번 문제도 0-1 BFS인데 격자점에서 다익스트라구현하는 것을 까먹어서 못풀었다. 이런 문제 셋만 계속 나온다면 나도 희망이 있을 것 같다!! 이제 Atcoder에서 살아남으려면 간단한 dp만 공부하면 된다... 이번 대회에서 배운 것은 좌표 압축 알고리즘 기본과 조건 0-1 BFS와 2차원 배열에서 다익스트라 구현 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을..

AtCoder Beginner Contest 212 A부터 D까지 업솔빙

AtCoder Beginner Contest 212 A부터 D까지 업솔빙 D번까지 다 푼 대회이다. 내 1차 목표는 Atcoder D번까지 안정적으로 푸는 실력을 갖추는 것이기 때문에 매우 만족스럽다. C번 문제에서 조금 헤맸지만 정해와는 다른 방법을 사용해서 어찌어찌 풀었고, 정해에서 보여준 아이디어또한 매우 좋은것 같아서 배울점이 많은 문제였다. 상대적으로 D번문제는 아이디어를 조금 더 보는 문제였고, 쉽게 떠올라서 바로 풀었다. 나도 좀 더 어려운 문제를 이런 식으로 풀수 있길 바라면서 글 시작하겠다. 이번 대회에서 배운 것은 우선순위 큐 min heap설정하기 그리디 알고리즘 기초 감잡기 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. ..

AtCoder Beginner Contest 234 A부터 E까지 업솔빙

AtCoder Beginner Contest 234 A부터 E까지 업솔빙 시간이 맞아서 최초로 실제 대회에 참여한 문제셋이다. 그래서 그런지 더욱더 업솔빙에 최선을 다했고, 풀지 못했던 E와 기를 쓰고 겨우 풀었던 D번 문제가 생각보다 쉬운 문제였다는 난이도 선정에 아쉬워하기도 했다. 하지만 처음 Atcoder 대회에서 퍼포먼스가 *825정도 나왔다는 점에서 나는 매우 만족한다. 이제 atcoder를 계속 연습하면서 brown 등급의 문제는 거뜬하게, green등급은 기를 쓰고 풀어서 겨우 풀 수 있는 수준까지가 1차 목표이다. 이번 대회에서 배운 것은 재귀함수로 이진수 빠르게 구하기 다양한 자료구조 생각하기 때로는 모든 경우의 수를 다 구하는 것이 가장 좋은 해법이다. 문제 옆에 붙어있는 난이도는 At..

AtCoder Beginner Contest 211 A부터 D까지 업솔빙

AtCoder Beginner Contest 211 A부터 D까지 업솔빙 일본 친구들은 진짜 DP를 좋아하는 것 같다. C번 문제는 문자열 DP에, D번 문제는 BFS + 다익스트라 + DP문제를 내놓았다. 코드포스에서는 민트까지 DP가 거의 안나오는데, atcoder에서 높은 티어를 받으려면 dp를 무조건적으로 정복해야 할 것같다. 다행인거는 전형적인 dp가 맨날 나온다는 점? 문제 유형 다 외워버려야지.. 이번 대회에서 배운 점은 문자열 dp 다익스트라는 결국 BFS의 변형이다. 최단 경로 개수 찾기 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Blood Pressure (*6) 접기/펼치기 문제 설명 사람의 수축기 혈압인 $A$..

AtCoder Beginner Contest 207-A부터 C까지 업솔빙

AtCoder Beginner Contest 207 A부터 C까지 업솔빙 C번 문제 이거는 모르면 그냥 당하는 문제라고 생각했다. 문제 제목도 많은 조건 분기라서 이렇게 많은 조건을 분기해야 하나? 라는 생각을 하면서 문제를 풀었는데 결국은 못풀고 보니까 애초에 이런 문제를 푸는 방법이 있었다. 진짜 PS는 고인물 판인거 같다. 두 구간이 교차하는 조건 쉽게 구하기 닫힌구간과 열린구간에 대한 처리 방법 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Repression (*6) 접기/펼치기 문제 설명 책상에 카드 3개가 있고 각 카드에는 양수가 적혀져 있다. 각 카드에 적혀있는 정수는 $A, B, C$이다. 두 카드를 선택하고 두 카드를..

AtCoder Beginner Contest 209 - A부터 D까지 업솔빙

AtCoder Beginner Contest 209 A부터 D까지 업솔빙 충격적이라고 느낀 문제 set, C번하고 D번을 모두 못풀어서 짜증이 났던 문제다 도대체 나는 천장을 얼마나 두들겨야 그 고지를 넘어갈 수 있을까? 심지어 C번문제는 거의 다 접근했는데 한가지 생각을 못해서 못풀었고, D번 문제는 접근방법 조차 생각을 못해서 배울 점이 개인적으로 많았다고 느끼는 문제다. bipartite graph(이분 그래프)의 정의 및 활용 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Counting (*5) 접기/펼치기 문제 설명 $A$보다 작지않고 $B$보다 크지 않은 정수는 몇개일까? 문제 해설 일단 $A$부터 $B$까지 정수의 개수를..

AtCoder Beginner Contest 208 A부터 D까지 업솔빙

AtCoder Beginner Contest 208 A부터 D까지 업솔빙 계속 이렇게 대회가 나왔으면 좋겠다. D번문제가 생각보다 내가 알고있는 알고리즘을 그대로 사용해서 풀 수 있었다. 이제는 "어딘가 들어본 알고리즘"이 아닌 "언제든지 꺼내 쓸 수 있는 알고리즘"으로 만들어야 할 시기이다. 이번 대회를 참여하면서 배운 것은 Floyd-Warshall(플로이드-와샬) 알고리즘의 구현과 쓰임새 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Rolling Dice (*28) 접기/펼치기 문제 설명 $1, 2, ..., 6$ 이 적혀있는 주사위를 $A$번 던질때 주사위 눈금수의 합이 $B$가 나올 수 있을까? 제약 $1 \le A \le ..

반응형