대회/코드포스
-
846, 842 div2 virtual대회/코드포스 2023. 2. 15. 20:16
https://codeforces.com/contest/1780 Dashboard - Codeforces Round #846 (Div. 2) - Codeforces codeforces.com A. 숫자 배열이 주어지고, 이 중 세 개의 원소를 합쳐서 홀수가 될 수 있는지 묻는 문제 홀수 = 홀수가 홀수가 필요하다 따라서 홀수가 1개도 없으면 불가능 짝수가 하나만 존재해서 - 홀,홀,짝 불가능 이 두가지 경우만 체크하면 된다. 원소까지 출력해야 하므로 홀/짝을 나누어서 받으면 가능하다. B. [l1, + ... + r1], [l2 + , .... , + r2], .. 나누는 방법은 2개 이상 대충 이렇게 subsegment들의 gcd를 최대로 만드는 경우 gcd(a1, a2, a3, ... ) k, y -..
-
852 div2 virtual대회/코드포스 2023. 2. 13. 20:01
Codeforces Round #852 (Div. 2) Dashboard - Codeforces Round #852 (Div. 2) - Codeforces codeforces.com A. 어떤 빵집에서 첫째날에 구매하면 빵 하나에 a 금액, 둘째날에 구입하면 b 금액에 구매할 수 있다. 빵 n개를 구매하는데 드는 최소 금액 여기에 첫째날에 빵 구매하면 m개 구매할 때 1개를 보너스로 더 줌 m+1개의 빵을 구매하는 금액인 a*m vs b*(m+1) 을 비교함 왜냐 우선 a, b의 대소는 한눈에 알 수 있는데 m+1개의 빵을 구매할 때 첫째날이 더 합리적인지 둘째날이 더 합리적인지 알고 싶어서 -> a,b의 대소 말고 변화를 주는 요인이 행사이기 때문에 자연스럽게 비교함 a*m < b*(m+1) 이라면 n..
-
edu 130, 804, 803 virtual대회/코드포스 2022. 7. 8. 16:20
edu 130 https://codeforces.com/contest/1697 Dashboard - Educational Codeforces Round 130 (Rated for Div. 2) - Codeforces codeforces.com A 쉬면 에너지 회복 아니면 에너지 소비해서 이동, 현재 에너지 m 따라서 1에서 n으로 이동할 때 필요 에너지 m이하면 0만큼 휴식 아니라면 모든 필요 에너지-m 만큼 휴식 필요 B x 개 산다면 y개가 공짜 공짜 금액 최대로 가장 비싼 것들로만 산다. C 주어진 string s1에서 ab 는 ba로 바꿀 수 있고, bc 는 cb로 바꿀 수 있다. s1을 s2로 바꿀 수 있는지에 대한 문제 a,b,c의 관계에 대한 operation이 주어져 있는데 두 개의 ope..
-
#800 div2 6/30 virtual대회/코드포스 2022. 7. 1. 00:11
https://codeforces.com/contest/1694 A만 풀고 나머지 업솔빙 왜 그런지 엄청 어려웠는데 업솔빙할때는 바로바로 생각남 A 1은 +1 0은 -1 모든 prefix sum의 합의 절대값이 최소가 되도록 -> 번갈아가면서 나오도록 한다. B 10 은 0이되고 01은 1이된다. string이 주어지고 sub string의 길이를 1로 만드는 모든 경우의 수 operation을 왼쪽꺼 삭제로 생각해보자 *****01 꼴이면 무조건 1의 index만큼 가능 ******10 꼴이면 무조건 0의 index만큼 가능 왜냐면 ******0은 *****10 또는 *****00 인데 001은 01로 101도 01로 가능 C 오른쪽으로 가면 +1 왼쪽으로 가면 -1 각 값이 의미하는 내용은 = 오른쪽..
-
#798 div2 6/27 virtual대회/코드포스 2022. 6. 27. 16:57
https://codeforces.com/contest/1689 Dashboard - Codeforces Round #798 (Div. 2) - Codeforces codeforces.com 매일 아침 코포 버츄얼 돌린 첫날. 머리도 깰겸 A a string, b string 에서 하나하나 뽑아서 사전순으로 가장 앞선 string c를 만드려고 한다. a,b 둘 중 하나가 빌때까지 반복하고, 연달아서 a,b에서 뽑는 것은 k번까지 제한이 있다. a, b 둘다 정렬하고 a, b index 앞부터 끝날때까지 반복한다. a index, b index 중 더 빠른 거 두고, 연달아 k번 썼는지 확인한다 단순 구현문제인데 생각이 또 둥둥 떠다닌다. 잡아서 써보자 B 순열에서 원래 순서랑 모두 다 다르게, 사전순 ..
-
#737 div2 8/9대회/코드포스 2021. 8. 10. 14:36
https://codeforces.com/contest/1557 Dashboard - Codeforces Round #737 (Div. 2) - Codeforces codeforces.com A 가장 큰 거 따로, 나머지 묶어서 계산 cout.fixed() cout.precision()만 구글링로 찾음 B pair에 값이랑 index 저장해서 정렬, 바로 옆에 있어야 하는 거면 앞에 꺼 인덱스가 뒤에 꺼보다 1작아야함 아니면 cnt++ 계속 변수값 변경해주면서 cnt가 k보다 작거나 같으면 가능 아니면 불가능 C 각 비트별로 따로봐도 된다. 최상위 비트부터 우선순위 적용 근데 어쩌다 보니 &연산이 아닌 not XOR 연산으로 계산해서 계속해서 이상한 사고로 흘러갔다. 4개일때 짝 홀 아무거나 짝 짝 홀 ..