본문 바로가기

Algorithm/etc111

[자바] SWEA 1767 : 프로세서 연걸하기 (test) [자바] SWEA 1767 : 프로세서 연걸하기 (test)SWEA 1767 : 프로세서 연걸하기풀이방향성 생각백트래킹맵이 작아서 맵에 간선을 깔면서 진행한다.종료 조건만 잘 적어주고, 간선까는건 단순 for문이라 인덱스 실수만 안하면 된다. 전체코드from collections import defaultdict as ddinside = lambda x,y : 0코멘트백트래킹에서 실수하지 않게 주석 자세하게 작성하면서 풀기 2025. 3. 9.
[자바] SWEA 6782 : 현주가 좋아하는 제곱근 놀이 (D5) [자바] SWEA 6782 : 현주가 좋아하는 제곱근 놀이 (D5)SWEA 6782 : 현주가 좋아하는 제곱근 놀이풀이방향성 생각수학 문제.처음에는 그냥 무지성으로 BFS를 때려박았다.10*12에서 루트 씌우다보면 금방 2로 갈거같았는데, 현재 x보다 크면서 가장 가까운 제곱근까지 가는 경우에 거리를 미리 알 수 있음에도 불구하고 BFS로 보내면 너무 오래걸린다.현재 x보다 크면서 가장까운 제곱근까지 보내고 루트를 씌우면 t+1만큼 걸리면서 작아지는 방향으로 이동가능하다. 전체코드import java.io.*;public class Solution { public static void main(String[] args) throws IOException { BufferedReader b.. 2025. 3. 9.
[파이썬] 백준 18809 : Gaaaaaaaaaarden (골드1) [파이썬] 백준 18809 : Gaaaaaaaaaarden (골드1)https://www.acmicpc.net/problem/11660풀이방향성 생각2차원 누적합을 통해서 중복 영역 계산을 피해준다. 전체코드from collections import dequeimport sysinput = lambda : sys.stdin.readline().strip()inside = lambda x,y : 0> 1) - 1)# brute forceanswer = -1# choose areafor choose_bit in gosper(L,A+B): choose_fertilizers = [fertilizers[i] for i in range(L) if (choose_bit>>i)&1] # A/B comb .. 2025. 2. 26.
[파이썬, 자바] 백준 23848 : 등비수열의 합 (골드3) [파이썬, 자바] 백준 23848 : 등비수열의 합 (골드3)https://www.acmicpc.net/problem/23848풀이방향성 생각10^12 -> 최대 공비 10^6 -> O(N)으로 풀이항이 3개 이상이어서 r^3 = 10^12로 풀면 10^4까지 줄일 수 있다고 생각했는데, N**(1/3)까지 줄일 수 있다고 생각했는데 안되는듯? 항 개수가 부족해서 답이 안될거같았는데...구간합 구하기 -> 누적합 사용누적합의 길이가 가장 긴 2의 경우, 10^12 = 2^40이라 잡으면 누적합 리스트의 길이는 최대 약 40투포인터로 구간길이가 3 이상인 구간합이 N의 약수인 경우 찾기.구간합 * a(scaling factor?) = N이므로 N/a == N//a이면 조건 만족지금 보니까 나머지가 0이면 .. 2025. 2. 16.