math 3

Div.2 #961 C - WA

문제 링크: https://codeforces.com/contest/1995/problem/C오버플로우를 막는 방법에 대한 고민핵심 아이디어a^x^2 a^x >= b^y 인 경우는 없다증명1 초과인 a, b, x, y에 대하여a^x a^x^2 > b^y 이면a^x^2 a^x = p, b^y = q 라고 하면p p * p p * p 따라서 핵심은, 몇번의 제곱을 수행해야 하느냐!오버플로우를 신경쓰지 않도록, 2^63 내에서 대소 비교를 수행하는 방법실제 문제를 풀진 못했으므로, 구현은 남기지 않음

PS/Codeforces 2024.09.29

Div.2 #968 D1

mex를 사용하여 입력받은 값을 최대로 만드는 문제mex는 두번 사용하면 최대로 커지므로, 이를 이용해 달성 가능한 가장 큰 값을 리스트를 순회하며 확인한다.만약 한번만 사용가능했다면 그래프 문제가 됐을 것 같다.맨날 전역에 동적 메모리 할당하고, 오랜만에 PS하느라 까먹었는데메모리 할당도 할당된 크기만큼 시간이 든다!시간복잡도 터지는것에 주의하자.import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.*;//Change Class Name to Proble..

PS/Codeforces 2024.09.27

Div.2 #953 C

k 번마다 전구가 on-off 됨시간 - 스타트시간/k 의 값이짝수이면 켜진 시점홀수이면 꺼진 시점무조건 모든 전구가 한번이라도 켜진 시점 이후 k시간 안에 전구가 켜져야됨이후는 반복되는 패턴(x - a_i) / k 의 패리티가 모두 짝수인 가장 작은 x최대와 최소 사이 공간이 존재하냐를 묻는 문제로 바뀜((x - a_i) / k) % 2 == 1x += k - (x - a_i) % k(x - a_i) / k % 2 == 0y = min(y, x + k - (x - a_i) % k)import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import..

PS/Codeforces 2024.09.27