본문 바로가기

전체 글

(74)
[BOJ 1943] 동전 분배 https://www.acmicpc.net/problem/1943 1943번: 동전 분배 세 개의 입력이 주어진다. 각 입력의 첫째 줄에 동전의 종류 N(1 ≤ N ≤ 100)이 주어진다. 각 입력의 둘째 줄부터 N+1째 줄까지 각각의 동전의 금액과 개수가 빈 칸을 사이에 두고 주어진다. 단, 원 www.acmicpc.net Tag : knapsack dp 문제 요약 동전의 가격과 개수가 주어질 때 이를 정확히 반으로 분배할 수 있는지를 물어보는 문제다. 풀이 N * 동전의 합 = 100 * 100000 = \(10^7\) 이라 냅색을 돌릴 생각을 해봐야한다. 평범한 배낭 2 처럼 개수를 ( \(2 ^ n - 1\) + a ) 형태로 저장한 후 냅색을 하면 맞은 사람 1등에 올라갈 수 있겠다는 생각에 싱..
[BOJ 18313] Cave Paintings https://www.acmicpc.net/problem/18313 18313번: Cave Paintings Bessie has become an artist and is creating paintings of caves! Her current work in progress is a grid of height $N$ such that each row of the grid contains exactly $M$ squares ($1\le N,M\le 1000$). Each square is either empty, filled with rock, or filled www.acmicpc.net Tag : DSU, Tree DP 문제요약 이차원 격자에서 서로 다른 칸 a,b가 min(a의 높이, b의 높이)인 ..
코드포스 블루 달성... 보호되어 있는 글입니다.
[BOJ 13261] 탈옥 https://www.acmicpc.net/problem/13261 13261번: 탈옥 한 간수가 1, 2, 3번 방을, 다른 간수가 4, 5번 방을, 다른 간수가 6번 방을 감시한다고 하면 탈옥 위험도가 최소가 된다. 1, 2, 3번 방을 감시하는 간수는 총 3명의 죄수를 감시하고 있기 때문에, 1, 2, www.acmicpc.net Tag : dnc opt 문제요약 간수 한명이 구간 \([l,r]\)을 관리할 때 이 위험도는 구간의 탈옥력 \(C_i\)들의 합과 구간의 크기인 \(r-l+1\)의 곱으로 정의된다. 간수가 G명일 때 \([1,L]\)의 위험도의 합을 최소화하는 것이 목표다. 풀이 직관적으로 떠올릴 수 있는 dp의 정의는 다음과 같다. \(dp_{i,j}:=i\)명의 간수가 \([1:j]..
[BOJ 11001] 김치 https://www.acmicpc.net/problem/11001 11001번: 김치 첫 번째 줄에 날짜의 수와 시간 제한 N, D가 주어진다. (1 ≤ D ≤ N ≤ 100,000) 두 번째 줄에 온도 Ti가 주어진다. N-1 이하의 정수 i에 대해서 Ti >= Ti+1을 만족하며, 109 이하의 자연수이다. 세 번째 줄에 www.acmicpc.net Tag : dnc opt 문제요약 (숙성시간)*(꺼낼 때의 온도)+(넣은 날의 가치)의 최대를 구하는 문제다. \(D_i:=i\)일에 넣었을 때 최대"라 정의하고 문제가 요구하는 대로 식을 세우면 \(D_i=max_{iP(i+1)\)에 모순된다. 따라서 \(P(i)\leq P(i+1)\)이다. (그냥 monge array인거 보이는게 낫다) + 맞은사람..
Deltix Round, Autumn 2021 (open for everyone, rated, Div. 1 + Div. 2) 이 라운드를 통해 블루에 한발짝 가까워졌다. 1573점! 27점만 올리면된다. D가 좀 구데기였는데 지문이 너무 구렸다. 문제가 요구하는 걸 이해하고 코드를 짜서 제출하기까지는 5분이 안걸렸다. 지문 이해만 30분가까이 어우... 친구도 같은 라운드를 쳤는데 역시 지문 이해안돼서 질문보내느라 30분 날려먹었다고한다.. D 지문이 이뻣으면 퍼플 퍼포 나왔겠지~ 하고 정신승리 중이다 ㅎ (블루 상위만으로도 감지덕지..) A. Divide and Multiply Tag : sort 풀이 \(\{v_1*2^{e_1},v_2*2^{e_2},v_3*2^{e_3},,,,,v_n*2^{e_n}\}\)에서 \(v_i\)가 가장 큰 것에 \(2^{\sum{e_i}}\)을 곱해주는 것이 최대이다. + 00:02 AC 시간복..
Codeforces Round #757 (Div. 2) 최근 코포 성적이 저조해서 시무룩한 상태였는데 오랜만에 잘봐서 기분이 좋다. 1864퍼포!!!!!! 블루 상위!!!! D1을 대회 중에 풀었으면....하는 아쉬움도 있다. 한번에 블루까지 가고픈 일확천금의 꿈... D1에 코드를 짜면서조차 반례가 눈에 보이는 말도 안되는 그리디를 냈는데 wa 10이 떠서 괜히 기대했다. 끝나고보니 D1이 쉬운 문제였다... A. Divan and a Store Tag : sort 풀이 값이 \(l\)이상 \(r\)이하인 것들을 골라서 합을 \(k\)이하로 만드는데 이 중 최대를 구하는 것이다. 정렬하고 \(l\)이상인거부터 합이 \(k\)이하가 돼도록 더해주면 끝이다. 시간복잡도 : \(O(NlogN)\) 전체코드 #include "bits/stdc++.h" #defin..
usaco silver 2016~ 후기 보호되어 있는 글입니다.