알고리즘 공부 58

백준 문제 추천 골3~플3 정도

그냥 좀 괜찮은 백준 문제 모음 + 간단한 설명(숨겨 놓음) 2주마다 괜찮은 문제 대충 올릴 생각 21319 더보기 그리디 +pq 연습,hard는 아직 안품 hard는 세그인듯? 1781,2109 더보기 also 그리디 + pq 15732 더보기 이분탐색으로 푸는 좋은 문제 18316 더보기 dp연습용 문제 난이도가 뻥튀긴된 감이 있다 10938 더보기 기댓값 dp 신촌에 나온 문제 역시나 난이도가 뻥튀긴 듯? 20188 더보기 tree dp, koi문제 문제 좋다 근데 맞은 사람들 보니까 다양한 방법으로 접근한듯 나보다 좋은 풀이 많을듯 17720 더보기 좋은 문제는 아니나.. tree가 forest임을 간과한 문제 11917 더보기 좀 재밌었던 수학문제 13941 더보기 비트 dp 이정도는 되야 플레..

suapc 2021 후기

결론부터 말하자면 7등 장려상을 받았다. 남들이 다 푸는 문제만 맞추고 적당히 J번 뇌절하다가 죽은 대회였던거 같다. likelon,jkroll87(이하 박건)으로 팀을 짜서 나갔다. 아마 내가 올해부터는 다른 팀에서 할거 같기에(아직 팀원은 못 구했지만서도..) 이 팀으로 진행하는 마지막 대회였다. 팀 연습은 한두번했나? 어쨌든 거의 못한 상태로 대회에 들어갔다. 코로나땜에 랩실이 폐쇄된 관계로, 10시반에 만나서 신촌 스터디룸을 잡으러 갔다. 적당히 잡고 12시에 시작한다! 우리팀의 문제 풀이 전략은 이렇다. 사실 supac는 컴퓨터가 3대라 전략이 다들 비슷비슷 할 거 같지만, 내가 앞에 4문제, 건이가 중반 4문제, likelon이 후반 4문제를 잡는다. 그리고 풀이가 보이면 바로 풀고, 할만한 ..

#557 Virtual contest

무친 점수가 나와버렸다. 이 글을 쓰는 이유는 E번 게임이론 문제가 재밌어서 쓴다. codeforces.com/contest/1162 A번 처음에 h로 초기화 해 놓은 후, 쿼리마다 업데이트 해주면 된다. 왜 그런지는 조금만 생각해보면 된다. #include #include #include #include #include #include #include #include #include #include #define all(v) v.begin(),v.end() using namespace std; using ll = long long; const ll n_ = 2050, inf = 1e18, mod = 1e9 + 7; ll n, m, a, b, c, d, x, y, t, k, u, v, h; int mai..

에듀-102

그냥 오랜만에 심심해서 쓴다. 확실히 예전보다 실력이 는거 같다. 1700점대 실력은 나오는거 같다. 이번 라운드는 진짜 실수가 너무 많았다... 복귀해보도록 하자. A번 수열에서 어떤 원소 하나를 수열 내부의 적당한 원소 2개의 합으로 바꿀수 있다. 이때 입력으로 주어진 값 이하로 모든 수열을 바꿀 수 있는지를 묻고 있다. 당연히, 제일 작은 2개의 합으로 바꾸는것이 이득이므로 그리디하게 먹는다. 그런데 이제, 수열내의 최댓값이 주어진 값 이하이면 항상 성립한다. #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; co..

#10468 숫자뽑기게임

www.acmicpc.net/problem/10468 10468번: 숫자뽑기게임 입력은 많은 테스트케이스로 구성된다. 입력 형식은 n k1 k2 ... kn 이며 , n (n ≤ 200) 은 리스트의 숫자의 개수이고 각각의 정수 ki의 범위는 1 ≤ ki ≤ 100 와 같다. 모든 테스트 케이스에서 n ≥ 3 이 www.acmicpc.net Ad-hoc한 구간 dp. 나중에 기억해 볼만해서 적어본다. 문제에서 주어진 연산의 특징은 마지막으로 선택하는 원소를 정해버리면, 구간이 2개로 분할되며 추가 연산을 통해 값을 구해 낼 수 있다. #include #include #include using namespace std; using ll = long long; ll n=1, A[210], dp[210][21..

Codeforces Round #683 (Div. 2, by Meet IT)

대회중에 진짜 너무 억울해서 글쓴다 진짜 a,b번 머리속에 떠올리는데로 바로풀고 이렇게나 잘했는데 c번에서 문제 잘못읽은게 진짜 에바다 왜 에바냐면 정수나눗셈에서 올림을 쳐했다 연산이 풀이는 무조건 맞다고 생각해서 7번이나 틀려버렸다 ㅋㅋ ㅡㅡ 진짜 부캐 언제 블루가.. 언젠가 이 빡침이 해소되면 해설도 올리겠다

2020 icpc 인터넷예선 후기

생애 첫 icpc 였다. 아무래도 ps계에서 제일 큰 대회중 하나이기에 전 날부터 잠도 오지 않았다. 우리 팀은 다 신입생이고, 뛰어나게 잘하는 사람이 없었기에 본선 진출은... 사실상 다음기회에 해야했고 목표는 남들이 다 푸는 기본문제 쉬운거 4개 + 어려운 문제 1개를 푸는 걸로 목표로 잡고 갔다. 푼 순서대로 solution을 나열해보면... I. Project Teams (4min) 이 문제딱 풀었을 때 우리팀은 2등이였다(!) 퍼솔은 0분에 퍼솔이던데 ...그게 가능할까... 어쨌든 코포에서 a번으로 많이 봤을법한 문제다. 사실 아마 I번으로 등록을 많은 사람들이 찾았을 텐데 없는 걸 보고 실망했으나, 그래도 쉬운 문제가 I 번으로 출제 되었다. sol) 그냥 정렬하고 젤 작은거 젤 큰거 더해가..

Grakn Forces 2020

2솔했다. 원래는 b pretest까진 맞췄었는데 모든게 같은 수로 이루어져 있는 데이터 셋이 부족했는데 그걸 완벽하게 처리하지 못했다 ㅠㅠ 2100등정도 찍히는거 보고 잤는데 일어나보니 3500등정도로 떨어진거 같다. 다음엔 다시 블루 복귀 하자. A. For each ii, ai≠bi, ai≠ci, bi≠ci 라는 조건만 읽으면 잘 해결해낼 수 있다. 우선 처음 숫자를 저장해놓는다.(마지막이랑 비교해야 함) 그리고 계속 수를A에서 가져온다. 그러다 이전에 가져온 수와 동일하면 b와 가져온다.(b는 a랑 다르니까 무조건 먹을 수 있다.) 그리고 마지막에선, 그전에 가져온 수와 a가 동일하고 처음 가져온 수 와 b가 동일하면 c를 먹어준다. #include #include #include #include..