solved.ac 티어 : 골드 3 https://www.acmicpc.net/problem/12784 12784번: 인하니카 공화국 인하니카 공화국은 1번~ N번까지 N개의 섬으로 이루어진 나라이다. 이 나라에서는 섬 간의 왕래가 매우 어려웠지만, 위대한 다리 설계자 ‘진’이 두 섬을 연결하는 다리를 최소한의 개수로 만들 www.acmicpc.net 이 문제의 풀이는 생각보다 간단하다. 1에서부터 시작해서 dfs으로 끝점(괴도 루팡이 있다는 곳)까지 탐색하면서 지나온 길의 가중 치중 가장 작은 값을 찾고 모아지는 부분에서 더해주면 된다. 문제에 있는 예시로 설명을 해보겠다 괴도 루팡이 있을 수 있는 곳은 3,4,6,7번 점이다. 1부터 3,4,6,7인곳으로 dfs으로 탐색하면 된다. 일단 3부터 시작하..
solved.ac 티어 : 골 4 https://www.acmicpc.net/problem/8983 8983번: 사냥꾼 입력의 첫 줄에는 사대의 수 M (1 ≤ M ≤ 100,000), 동물의 수 N (1 ≤ N ≤ 100,000), 사정거리 L (1 ≤ L ≤ 1,000,000,000)이 빈칸을 사이에 두고 주어진다. 두 번째 줄에는 사대의 위치를 나타내는 M개의 x-좌 www.acmicpc.net 오랜만에 시험 끝나고 돌아왔다 당연히 시험은 망했고 오랜만에 와서 풀이를 쓸려고 한다 이 문제는 KOI 2013 중등, 고등 1번 문제이다 이 문제는 자명 풀이가 이분 탐색(binary search)이라는데 그것보다 스위핑처럼 하는 방법이 먼저 떠올라 그걸로 풀었다 방법은 이분 탐색만큼 간단한데 동물들의 점..
보이는 그대로 진출이 뜨긴 했는데.... 1교시보다 2교시가 더 높은 결과가 나왔다;; 1교시는 망해서 따로 설명은 안 하고 2교시에서 1번을 풀었는데 O(n)으로 완전 탐색을 돌렸다 import sys import math inf=math.inf #sys.setrecursionlimit(10**9) input=sys.stdin.readline a=int(input()) l=list(map(int,input().split())) st=[0] ma=0 for i in range(a):st.append(st[i]+l[i]) for i in range(1,a-1): left=st[i+1]-l[0] right=st[a-1]-st[i] left1=st[a]-l[0]-l[i] right1=st[a]-st[i+1] ..
한동안 디스코드 봇 글을 안 썼었는데 오랜만에 다시 씁니다 전과 바뀐 점이라고 하면 전까지는 솔브드에서 직접 정보를 얻어왔는데 알고 보니 솔브드 api만 써야 된다고 해서 솔브드를 쓰는 대부분의 코드를 api로 바꿔놨다. https://solvedac.github.io/unofficial-documentation/ Swagger UI solvedac.github.io 이건 솔브드 api 링크다 ps 관련해서는 문제 검색이 조금 바뀌었는데 누가 검색했는지 상단에 나오게 해 놨고 태그도 스포일러 처리를 해서 같이 출력하게 해 놨다 또 정답률 이런 거는 사용하면 안 된다고 해서 다 지워놨다. 나머지는 딱히 전과 바뀐 점은 없다 또 추가된 점은 좀 잡다한 기능이지만 ~write 하고 영어를 입력하면 영어를 저렇..
solved.ac 티어 : 골드 1 www.acmicpc.net/problem/5676 5676번: 음주 코딩 각 테스트 케이스마다 곱셈 명령의 결과를 한 줄에 모두 출력하면 된다. 출력하는 i번째 문자는 i번째 곱셈 명령의 결과이다. 양수인 경우에는 +, 음수인 경우에는 -, 영인 경우에는 0을 출력한다. www.acmicpc.net 문제를 보면 바로 구간 곱이라는 것을 알 수 있다 하지만 구간 곱을 구현한 뒤 제출하면 시간 초과를 받는다. 이유는 값이 너무 커져서 그런것인데 어차피 값을 원하는 게 아니라 부호만 알면 되는 거기 때문에 음수일 경우 -1을 곱하고 양수일 경우 1, 0일 경우 0을 곱해주면 된다. 출력에서도 구간 곱이 양수면 +, 음수면 -,0이면 0을 출력해주면 된다. #include ..
solved.ac 티어 : 골드 3 www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 태그는 bfs(너비 우선 탐색)이 붙어있긴하지만 bfs를 안쓰고 dfs와 몇번의 전체 탐색만 해주면 된다. 탐색해서 알아내야할 정보는 한 위치로부터 x축으로 가장 가까운 섬과의 거리,그 위치로부터 y축으로 가장 가까운 섬과의 거리, 섬의 번호, 한 위치로부터 가장 가까운 섬의 번호 이렇게 4개를 알아내면 된다. 입력 예시로 예를 들면 # # # 1 2 2 1 # # # # # # ..
solved.ac 티어 : 골드 4 www.acmicpc.net/problem/11657 11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. www.acmicpc.net 문제보면 바로 다익스트라인걸 알수있다. 다익스트라를 구현해주고 출력하면 된다. import sys,math input=sys.stdin.readline n,m=map(int,input().split()) adj=[[]for i in range(n)] inf=math.inf for i in range(m):a,b,c=..
solved.ac 티어 : 골드 4 www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 이문제는 의외로 간단한데 어떤 노드에서 와 연결된 노드들 중에 재일 마지막 노드까지의 거리가 첫 번째로 큰 값과 두 번째로 큰 값의 합이 그 노드를 포함했을 때 가장 긴 길이이다. 이걸 dfs으로 탐색하면서 노드별로 가장 긴 길이 중에서도 가장 긴 길이를 출력하면 된다 . 예시로 봤을 때 4번 노드를 포함하는 최대 길이는 8이다. 4의 자식 노드를 포함하는..
solved.ac 티어 : 골드 4 www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net bfs으로 (1,1)부터 탐색을 해주는데 기회가 남아있을 때 벽을 만났다면 기회를 없애고 벽 위치를 스택에 추가해주면서 탐색을 하다가 (n, m)에 도착했을 때의 횟수를 출력하면 된다. import sys from collections import deque input=sys.stdin.readline a,b=map(int,input().split()..
solved.ac 티어 : 골드 3 www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n*n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 www.acmicpc.net 어느 한 위치를 선택했을 때 그 위치에서 최대로 갈 수 있는 개수를 저장하고 dfs를 돌면 된다. 최대 개수 구하는 방법은 한쪽으로 쭉 내려가고 더이상 내려갈 수 없을 때부터 +1씩 해주면 된다. import sys sys.setrecursionlimit(10**9) input=sys.stdin.readline a=int(input()) l=[list(map(int,..
- Total
- Today
- Yesterday
- A Dance of Fire and Ice
- 최소 스패닝 트리
- 세그먼트 트리
- 이분 탐색
- 완전 탐색
- 그래프 이론
- 누적 합
- 잡봇
- 자료 구조
- 정렬
- BOJ
- codeforces
- 구현
- 그래프 탐색
- 트리에서의 다이나믹 프로그래밍
- 선분 교차 판정
- 개발
- 깊이 우선 탐색
- 알고리즘
- KOI
- 그리디 알고리즘
- discord bot
- 트리
- Python
- 이분매칭
- 다이나믹 프로그래밍
- 자료구조
- 느리게 갱신되는 세그먼트 트리
- 수학
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |