[BOJ/11004] K번째 수 (QuickSelect로 풀기), c++
·
DEV/PS
www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 한줄 후기 : ㅂㅇㅎ 교수님 수업 같다 신촌 알고리즙 중급 연습 문제 였는데 확률적 알고리즘 파트에서 Quick Select를 알려주셔서 그거로 풀었다. 사실 풀고 찾아보니 대부분은 그냥 c++ sort 라이브러리로도 잘 풀린다고 한다. 아 그리고 c++에 아예 Quick Select를 구현해 놓은 라이브러리도 있다는데 그걸 쓰지는 않았다. Quick Select는 Quick Sort를 구현하면서 빠르게 n번째 원소를 찾는 기법이라고 한다. 실제 Sort는 대부분..
싱크웨이X듀가드 토체티 저소음 적축 (웜톤 베이지)
·
일상
안녕하세요. 아무도 안들어오지만 제가 기계식 키보드를 하나 장만해서 이렇게 리뷰를 남깁니다. 우선 축을 가장 많이 고민했는데요. 저는 매일 새벽마다 .. 코딩을 하기 때문에 소음이 적은 축으로 사려했습니다. 집에 생일 때 선물 받은 청축 키보드가 있지만 소음으로 인해 10분 쓰면 못 쓰거든요 그래서 저소음 적축, 저소음 갈축 중에 고민했는데 토체티 저소음 적축이 유명하길래 그냥 구매했습니다. 쿠팡에서 주문했는데 보내는 분이 청파동 전자상가인거 매일 학교에 있었는데 그냥 받아오는게 빠를 뻔 했네요.ㅋㅋ 열자마자 키보드와 티코스터(?)와 설명서(보증서)가 있었습니다. ㅋㅋ티코스터 근데 센스 있지 않나요?? 코딩 할때 항상 옆에 아메리카노 두고 하는데 색이 너무 예뻐요.. 딱 필요한 것들 줍니다. C to C..
[BOJ/8201] Pilots, c++
·
DEV/PS
www.acmicpc.net/problem/8201 8201번: Pilots In the first line of the standard input two integers are given, t and n (0 ≤ t ≤ 2,000,000,000, 1 ≤ n ≤ 3,000,000), separated by a single space, denoting the tolerance level and the number of yoke's position measurements taken. The second line give www.acmicpc.net 한줄 후기 : 영어 해석은 papago.. 신촌 알고리즘 중급 캠프 덱 DP 강좌 필수 문제였다. 사실 필수 문제를 다 읽어봤는데 (다이아는 보지도 않음) 내가 ..
PS용 비트 연산자(bit masking) 정리
·
DEV/PS
내가 보려고 정리 이 내용은 신촌 연합 알고리즘 캠프 강사님 말씀이다. - 집합 관리{0,1,2,3,4,5} 에서 부분집합 {0,1,4} 를 비트로 관리할 때 -> 0 1 0 0 1 1 로 관리 (5,4,3,2,1,0) 순서로 있으면 1, 없으면 0 교집합 -> & 연산자, 합집합 -> | 연산자 사용 -i 번째 비트 구하기 1. x & (1 > i) & 1ex) 같은 예제에서 0 1 0 1 1 을 3만큼 right shift 해준 값과 & 연산을 취하면, 0 0 0 0 1 즉, 1과 & 연산을 취하게 된다.그럼 전체 결과가 1인지 0인지로 판단 가능하다. - i번째 비트를 0/1로 설정하기1. 1로 설정하기 x | (1
[BOJ/1516] 게임 개발, c++
·
DEV/PS
www.acmicpc.net/problem/1516 1516번: 게임 개발 첫째 줄에 건물의 종류 수 N(1 ≤ N ≤ 500)이 주어진다. 다음 N개의 줄에는 각 건물을 짓는데 걸리는 시간과 그 건물을 짓기 위해 먼저 지어져야 하는 건물들의 번호가 주어진다. 건물의 번호는 1부 www.acmicpc.net 한줄 후기 : solved ac class 5를 따기 위한 눈물 겨운 여정.. 문제를 읽으면서 건물 짓는 순서가 주어지길래 위상정렬인 것 같다고 생각하고 풀었다. //AC //BOJ 1516 게임 개발 #include #include #include using namespace std; int ind[501]; int ans[501]; int c[501]; vector v[501]; void topo..
[1520] 내리막 길, c++
·
DEV/PS
[1520] 내리막 길 www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net 한줄 후기 : 난 오마이걸이 제일 좋아 지혜가 풀어보고 싶다해서 시작 정답률 ^^,, 지혜는 항상 어려운 문제만 고른다~ //AC #include using namespace std; int n,m; int arr[501][501]; long long dp[501][501]; long long way(int i, int j){ if(i == (n-1) && j ==(m-1)){ return 1..
[14501] 퇴사, c++
·
DEV/PS
[14501] 퇴사 www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 한줄 후기 : 내가 dp를 보자마자 풀기 보다 오마이걸 지호 만나서 친해지기가 빠를듯 퇴사는 알고스 과제에서 한 번 풀어보려 시도했었다가 어려워서 안 푼 문제다. 정답률이 꽤 높은 편이라 셋이서 도전 ^^ 나는 DP 문제랑 정말 안맞는 것 같아. #include #include using namespace std; int p[16]; int t[16]; int dp[16]; int main(){ int n; int day; cin >> n; for(int i=1; i
[11048] 이동하기, c++
·
DEV/PS
[11048] 이동하기 www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net 한줄 후기 : ㅋㅋㅋㅋdp 극혐 포인트는 대각선은 사실 생각할 필요가 없다는 것 대각선으로 갈 바엔 가로 한번 세로 한번 가는게 더 이득임 캔디를 더 많이 모을 수 있으니까 #include using namespace std; int miro[1001][1001]; int dp[1001][1001]; int main(){ int n, m; cin >> n >> m; for(..
[2156] 포도주 시식, c++
·
DEV/PS
[2156] 포도주 시식 ​ https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 한줄 후기 : 후에 이 문제는 알고리즘 수업 과제로.. 사실 계단 오르기랑 비슷해 보여서 풀었는데 좀 다르더라 그래서 좀 헤맸음. #include using namespace std; int main(){ int n; int arr[10000]; int dp[10000]; scanf("%d", &n); for(int i=0; i