전체 글188 백준 23877 / C++ https://www.acmicpc.net/problem/23877 23877번: Convoluted Intervals In this example, for just $k=3$, there are three ordered pairs that will allow Bessie and Elie to win: $(1, 1)$, $(1, 2),$ and $(2, 1)$. www.acmicpc.net [ 풀이 ] N제한에 비해 M은 5000이므로 O(M^2)까진 가능하다. 구하는 값은 ai+aj n >> m; for (int i = 0; i > x >> y; A[x]++, B[y]++; } for (int i = 0; i 2022. 8. 23. 백준 14958 / C++ https://www.acmicpc.net/problem/14958 14958번: Rock Paper Scissors There is a Rock Paper Scissors (RPS) machine which generates Rock, Paper, or Scissors randomly. You also have a similar small Rock Paper Scissors machine. Before the game, the RPS machine will generate a list of its choice of Rock, Paper, or Scissors of th www.acmicpc.net [ 풀이 ] 매번 옮겨가면서 계산하면 O(mn)이다. FFT로 합성곱 구하는 과정을 NlogN에 해주자. .. 2022. 8. 22. 백준 3037 / C++ https://www.acmicpc.net/problem/3037 3037번: 혼란 첫째 줄에 혼란도가 C이고 길이가 N인 수열의 개수를 1,000,000,007로 나눈 나머지를 출력한다. www.acmicpc.net [ 풀이 ] dp[i][j]를 1~i까지 혼란도가 j인 수열의 개수라고 정의하자. 1~i번 칸에서 수 i를 놓는 위치를 생각해보자. i를 k번 칸에 놓았다면, k+1칸~i번 칸에 의해 혼란도가 i-k개 증가한다. 따라서 i를 k번 칸에 놓을 때 혼란도가 j가 되려면 k번칸을 제외한 1~i-1에서 혼란도가 j-(i-k)가 되어야 한다. 따라서 식은 dp[i][j]=sum(dp[i-1][j-i+k])이다. 식을 더 개선해보자. dp[i][j]와 dp[i][j-1] 차를 구하면, dp[i-1][.. 2022. 8. 22. 백준 1866 / C++ https://www.acmicpc.net/problem/1866 1866번: 택배 첫째 줄에 배송해야 할 물품의 개수 N이 주어진다. (1 ≤ N ≤ 3,000) 둘째 줄에는 각 물품의 목적 지점의 번호가 빈 칸을 사이에 두고 주어진다. 지점의 번호는 10,000 이하의 자연수이다. 셋째 줄에 www.acmicpc.net [ 풀이 ] 관찰을 통해 인접한 값들끼리, 그리고 그 거리들이 멀수록 헬기로 옮기는게 좋음을 알 수 있다. 정렬한 후 앞에서부터 트럭으로 옮길지 헬기로 옮길지 정해주자. 또한 옮기는 위치도 결정해줄 수 있다. d1, d2 , .... , di를 골라서 옮겼다고 할 때 헬스가 x지점에 내려주면 트럭으로 움직여야 하는 거리는 f(x)=sum(|x-d_i|)가 된다. 이 함수는 중간지점에서.. 2022. 8. 18. 이전 1 ··· 31 32 33 34 35 36 37 ··· 47 다음