본문 바로가기

전체 글

라즈베리파이 세팅하기 이 책을 구입해서 라즈베리파이을 세팅하기로 결정했습니다. 세팅하는 법을 요약해보겠습니다 :) 일단 첫번째로 장비를 갖추셔야 합니다. 1. 라즈베리 파이 (당연) 2. SD카드 3. SD 카드 리더기 4. 모니터 (HDMI 출력 가능한) 5. C 타입 충전기 6. 키보드 (유선) 7. 마우스 (유선) 8. HDMI 선 (한쪽 미니) 다 갖추셨다면, SD카드를 포맷팅해야 합니다. 리더기에 카드를 넣고 노트북과 연결하세요. 그리고, https://www.sdcard.org/downloads/formatter 에에 가셔서 포맷을 위한 실행 파일을 다운받으세요. 그리고 실행 파일 화면에 Overwrite format 에 체크한 뒤 포맷을 진행하면 됩니다. 그 다음, Raspberry pi Imager를 다운받으세.. 더보기
그래픽스) 마우스 클래스 코드 분석 (과제하기 너무 싫어서 글 쓰면서 공부하기 https://github.com/JoeyDeVries/LearnOpenGL/blob/master/src/1.getting_started/7.4.camera_class/camera_class.cpp ) * 콜백 함수 https://ko.wikipedia.org/wiki/%EC%BD%9C%EB%B0%B1 인자로 넘겨주는 코드?! 와우 아하 그럼 이것들은 프래임버퍼,마우스,스크롤 콜백함수의 선언이고 아하 viewport transformation을 위해서 버퍼를 넘겨주는군. 화면 표시를 위해서는 뒤편에 버퍼가 필요함. 왜냐하면, 버퍼 없으면 한 줄씩 그려지는 게 다 보인다고 했음. 마우스 이벤트가 발생하면 이 콜백함수가 불려지고 그에 따른 동작을 처리한다. 마우스 .. 더보기
[Codeforces] suffix array https://codeforces.com/edu/course/2/lesson/2/1 Courses - Codeforces codeforces.com [문제] S = ababba SUFFIX ARRAY = { ", a, ba, bba, abba, babba, ababba} 를 정렬하면 {", a, abba, ababba, bba, babba} How to store all these suffixes? What about string array? It will be too much b.c. the total length of the array is n^2 Instead let's store only the index of the first letter of each suffix 위의 예) {6, 5, 2, .. 더보기
[BOJ 9660] 돌 게임 6 문제 : 턴을 돌아가면서 돌을 1개 ,3개, 또는 4개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 이긴다. 두 사람이 모두 '완벽하게' 게임을 한다. 누가 이기는 가? 상근이가 게임을 먼저 시작한다. 창영이가 다음으로 한다. 돌의 개수는 N개인데 1 ≤ N ≤ 1,000,000,000,000 풀이 방법 : 1개, 3개, 4개 일 때는 한 번에 가져가며 이긴다. 둘 다 돌이 자신의 차례에 1개 , 3개 , 4개가 안 남게 행동을 할 것이다. => 자신의 차례에 2개가 남으면 자신이 이김 https://casterian.net/algo/sprague-grundy.html (여기를 참고함..) The Casterian Home casterian.net N=1 상근 N=2 창영 N=3 상근 N=4 상근 N .. 더보기
[BOJ] 2467용액 https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 1. 모든 조합을 모두 살펴보는 것은 nC2만큼의 계산이 필요하다. n이 최대 10만이므로 시간초과가 날 것이다. 2. 답이 될 후보들 추리기 힌트로 오름차순으로 숫자를 주기 때문에, 이분탐색(lower_bound)으로 어떤 숫자 n의 -n과 같거나 큰 숫자를 구하고, 이 숫자의 왼쪽에 있는 숫자, 이 두 개를 비교해서 답을 구하면 될 것이라고 생각했다. 그런데, 이 경우에는 모든 숫자들이 .. 더보기
dp연습1 1. https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 0 1 2 3 4 ... n 1 스티커[1][1] 스티커[2][1] ... ... ... ... 2 스티커[1][2] 스티커[2][2] ... ... ... ... 세로로 쭉 테이블 채우기 dp[i][1] : 2번을 포기 1번 선택했을 때 최댓값 dp[i][2] : 1번을 포기 2번 선택했을 때 최댓값 dp[i][1] = max(dp[i-1][2] + A[i][1], dp[i-1].. 더보기
[BOJ] 3178 코코스 반으로 잘라서 정렬을 한 후, 인접한 두 문자열의 겹치는 접두사의 길이만큼 트라이에서 정점이 감소하는 것이므로 n * k에서 길이만큼을 빼주면 된다 #include #include #include using namespace std; int n,m,k; vector s; vector e; int cmp(string a, string b,string c, string d){ int i = 0, j = 0; if(a == b) i = k; else while(a[i] == b[i]) ++i; if(c == d) j = k; else while(c[j] == d[j]) ++j; return i + j; } int main() { ios::sync_with_stdio(0);cin.tie(0);cout.tie(0.. 더보기
[BOJ] 20412 추첨상 사수 대작전 /****************************************************************************** BOJ 페르마 소정리 20412 X1 = (a × Seed + c) % m X2 = (a × X1 + c) % m a ? c ? *******************************************************************************/ #include using namespace std; using ll = long long; ll m,s,x1,x2; ll mul(ll x, ll m, ll d){ if(m == 0) return 1; if(m == 1) return x; ll p = mul(x , m/2,d); if(m % 2.. 더보기