
1교시를 완전히 망쳐서 가채점 나오기 전까지 0점도 가능할 거같다라는 생각을 했었는데 생각보다 40점이라는 높은? 점수가 나왔고 2교시는 작년보다는 어려웠지만 그렇게 많이 어려운 정도는 또 아닌지라 200점을 받고 총 240점이라는 점수로 전체 6.309%, 일반고 2.299% 로 은상 2개를 받으면서 본선을 가게 되었다. import sys,math inf=math.inf input=sys.stdin.readline a,b=map(int,input().split()) l=[list(map(int,input().split()))for i in range(a)] t=[[0 for i in range(100)]for g in range(100)] for i in range(a): for g in range(..

보이는 거 그대로 망했다 1214라면 사실상 본선 확정이지만 이번 연도부턴 1519라 이 정도 점수론 절대 갈 수 없다. 일단 풀이는 전부터 작성하고 있었으니 이어서 작성했다. 1. 계단 더보기 nypc의 첫 문제다 처음에 잡았을 때 뇌절이 좀 있어서 나중에 풀었는데 예제 설명에 쓰여있는 방법이 최적해다.(사실 그냥 준 문제) 현재 위치에서 내려간다음 끝까지 올라갔다 내려갔다 하면서 마지막에는 현재 위치로 다시 돌아와야 하니 1층에서 지금 층으로 오는 횟수를 빼주고 뺀값들로 왔다 갔다 해주면 되는데 이때 현재 위치가 1일 때는 올라가는 거부터 해도 되지만 아닐 경우 한번 내려가 줘야 되는데 이때 위로 올라가서 횟수를 줄일 수 있을 경우 올라가 줘서 줄인 다음 내려오면 더 짧은 횟수를 구할 수 있다. 시복..

아쉬우면서 괜찮은 결과인 거 같다. 3,4번 테케를 못 긁어서 200으로 끝났는데 그래도 1번이 dp인데 풀었다는 거와 못해도 동상은 받으니 처음 본선치곤 잘 본 거 같다는 생각이 든다(19만 원 3동 ㅋㅋㅋ) 처음에 1번을 풀다가 맞왜틀 했다가 한 가지 처리를 안 해줬다는 거를 알고 해 줬는데 그 조그마한 실수 때문에 10분 정도를 날렸고 2번은 생각은 쉬웠는데 구현이 잘 안돼서 3시간 이상을 날렸다 그다음 3번에서 조금만 긁고 4번을 갈려고 했는데 1점도 안 긁혀서 계속하다가 결국엔 200점으로 끝났다 1. 계산 로봇 위에서 말했던거처럼 dp다 어떤 점 (a, b)가 있을 때(y, x 순) |a-i|

보이는 그대로 진출이 뜨긴 했는데.... 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] ..
1. 암호 만들기(Password) 더보기 이 문제는 A와 B에서 공통인 부분 문자열이 P만 있는 B를 구하는 것이다. 근데 밑에 있는 코드처럼 할 필요 없이 그냥 b(P)만 출력해도 된다. B에 P만 있으면 되기 때문에 그냥 P만 출력해도 된다. import sys input=sys.stdin.readline a=input().strip() b=input().strip() t=[0]*10 for i in range(len(a)): t[int(a[i])]=1 s="" #print(t) for i in range(1,10): if t[i]==0: print(str(i)+b) sys.exit() print(b) 2. 마법의 돌 장난감(Stone) 더보기 이문제는 백준에 있는 두 번 뒤집기(2505)랑 세 번..

후기 : 수학대회라 2솔만 하자 했었는데 3솔이나 해서 기분이 좋았지만 b랑 c에서 어이없는 실수를 너무 해서 아쉽다. D는 배웠는데 생각이 안 나서 못 푼 게 아쉽고 일단 3솔해서 좋지만 좀 아쉬운 대회였다. 풀이 : A 더보기 A는 요약하면 우승할 수 있는 사람 수다. 그러므로 정렬을 한 다음 가장 작은 값들을 제거하고 남은 값들은 모두 우승할 수 있다. import sys,math,queue #sys.setrecursionlimit(10**9) input=sys.stdin.readline t=int(input()) for _ in range(t): n=int(input()) l=list(map(int,input().split())) l.sort() g=0 for i in range(1,n): if ..

오랜만에 버추얼을 돌려봤는데 2 솔밖에 못했다. 바로 풀이를 쓰자면 A import sys input=sys.stdin.readline t=int(input()) for _ in range(t): n=int(input()) l=list(map(int,input().split())) r=[0]*200 s=0 for i in range(n): r[l[i]]+=1 s=max(s,r[l[i]]) print(s) 그냥 가장 많이 중복되는 개수를 출력하면 끝이다. B import sys input=sys.stdin.readline t=int(input()) def p(x): #print(x) if int(x)
- Total
- Today
- Yesterday
- 그래프 탐색
- A Dance of Fire and Ice
- Python
- 잡봇
- 이분매칭
- 이분 탐색
- 자료구조
- 정렬
- C++
- 트리에서의 다이나믹 프로그래밍
- KOI
- 수학
- codeforces
- 트리
- BOJ
- 완전 탐색
- discord bot
- 느리게 갱신되는 세그먼트 트리
- 선분 교차 판정
- 최소 스패닝 트리
- 개발
- 그리디 알고리즘
- 구현
- 다이나믹 프로그래밍
- 누적 합
- 깊이 우선 탐색
- 그래프 이론
- 자료 구조
- 알고리즘
- 세그먼트 트리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |