목록/ (146)
블로그 옮겼습니다
출처 : https://gist.github.com/niksumeiko/8972566 Moving git repository and all its branches, tags to a new remote repository keeping commits history git clone --mirror cd git remote add new-origin git push new-origin --mirror
git status하면 충돌난거 빨간색으로 쭉 뜸. 그럼 하나 하나 vim으로 열어보면base 브랜치(머지하는 destination 브랜치)인 branch-a까지랑 충돌난다는뜻 충돌나는부분 적절히 수정해주고 git add .git commit -m 'asdf' 해주면 됨
(A 저장소의 디렉토리와 B 저장소의 디렉토리가 현재 같은 디렉토리에 있다고 가정) cd Agit remote B_branch ../Bgit remote updategit checkout agit merge B_branch/b
소프트웨어 마에스트로 9기는 서류 60% + 코딩테스트 30% + 인적성검사 10% 로 150명을 1차 선발합니다.알고리즘쪽보단 창업과 개발 관련 프로그램이었기 때문에 문제가 어렵게 나오지않을거라고 생각하고편한 마음으로 보려고했는데 시험 시작 5분 전이 되니 심장이 빠르게뛰었습니다..우선 55분동안 4문제를 풀어야하기 때문에 그런것도 있던것같아요.결과적으로 저는 시간 안에 모두 제출했습니다. 채점 결과를 가르쳐주지 않기 때문에실수가 없다면 다 맞을거라고 생각하긴하지만, 잘모르겠네요.우선, 많은 사람들이 시험을 하루에 같은 장소에서 봐야하다보니시간대를 여러개로 나눠서 봤습니다. 그래서인지 문제들도 4문제 중 3문제가 다르다거나 이런식인것 같더라구요.아무튼 저는 오후 3시 45분이었나 그때 코딩테스트 시작했..
문제 링크 N N; for(int i = 0; i > a; for(int j = 1; j * j = 2; i--){ if(!cnt[i]) continue; c[i] = (c[i] + cnt[i] * pow2[cnt[i] - 1]) % mod; for(int j = 2; j * j
2017년 11월 10일 금요일 ACM-ICPC 대전 리저널에 참가하기 위해 팀원들과 서울역에서 만나 함께 대전에 갔다. 하늘이 흐렸는데 이날 저녁에 결국 비가 왔다. 예비 소집이 끝나고 예약해 놓은 호텔에 갔는데 스타일러도 있고 전체적으로 정말 좋았다. 저녁으로 호텔 근처에 있는 족발 보쌈 무한 리필 집을 갔는데 무한 리필이라 별로 기대를 안하고 갔는데 신기하게도 정말 싸고 맛있었다 대회 전날이라 술은 안마셨다. 자기 전에 후배는 문자열 문제를, 나는 2-SAT 문제를 한 두개 풀었다. 그리고 다음날을 위해 10시 반에 일찍 잤고 다음날 7시에 일어나 씻고 호텔 조식을 먹었다. 그리고 콜택시를 불러 대회장으로 갔다. 말로만 듣던 'Do not touch anything' 교수님을 뵈니 신기했다. 결과는..
시간복잡도가 \(4^N\) 일 것같지만 \(3^N\) 이라고한다. 이유는 잘모르겠음 걍 외우자ㅎ +이유를 깨달았다부분집합(1)의 부분집합(2)이니까부분집합(1) 에 포함되거나 안되거나고, 만약 된다면 부분집합(2)에 포함되거나 안되거나니까 결국1. 부분집합(1)에 포함되지만 부분집합(2)에는 포함되지않거나2. 부분집합(1)에도 포함되고 부분집합(2)에 포함되거나3. 둘다 안포함되거나셋중 하나이기때문에 3^N
\(N,M\le{10^5}\)인덱스 이외의 모든수는 \({10^6}\) 이하의 자연수 N개의 수로 이루어진 A[i] 가 주어지고, M개의 쿼리가 주어지는데 각 쿼리는 b, l, r 로 이루어지며구해야 할 것은 b의 약수들 중에 \(A_l, A_{l+1}, \dots, A_r\) 들을 모두 나눌 수 없는 약수들의 수 이다.이 각 쿼리들의 결과를 모두 합한 값을 출력하는 문제이다.어차피 각 수는 10^6 이하이기 때문에 이런 배열을 하나 만들 수 있다.last[i] : i로 나눌 수 있는 최대 인덱스그럼 오프라인으로 각 쿼리를 r 로 오름 차순 정렬한뒤 하나하나 봐주면서 현재 쿼리의 r까지 A[i]의 약수들에 대해 last[약수] 를 i로 업뎃해준다. 그런뒤 b의 약수들에 대해 last[약수] 가 l보다 크..
http://codeforces.com/contest/535/problem/D 길이가 n인 어떤 문자열 s 가있고, 이 s안에서 k번 등장하는 어떤 패턴 p가 있다.패턴 p가 등장하는 위치를 오름차순으로 정렬한 sequence 에서 m개의 숫자로 이루어진임의의 subsequence 를 sub 이라고하자.입력으로 n, m, p, sub 가 주어질 때, 가능한 원래의 문자열 s의 가짓수를 구하는 문제이다.\(1 \le n \le 10^6\)\(0 \le m \le n - |p| + 1\)\(1 \le |p| \le n\) 우선, 길이 n인 연속된 빈 칸을 생각해 보자 여기에 p가 등장하는 위치에 p를 넣고 난 뒤빈 칸의 개수를 x라고 할 때 \(26^x\) 를 \(10^9+7\) 로 나눈 나머지를 구하는 문..
Z algorithm 은 문자열관련 알고리즘이다. 우선 Z Array 라는 것이 있다. Z[i] 의 정의는 아래와 같다. Z[i] : S[i...] 의 prefix 들 중 S의 prefix이기도 한 녀석들 중 길이가 가장 긴녀석의 길이즉, i에서 시작하는 S의 부분 문자열들 중 S의 prefix 이기도 한 녀석들 중 가장 긴 길이이다. 이 Z Array 를 O(|S|) 의 시간에 구할 수 있게 해주는 것이 Z algorithm 이다. 우선 이 것을 알면 KMP와 같이 문자열 검색이 선형시간에 가능하다. 즉, 어떤 긴 문자열 S에서 특정 패턴 P가 등장하는 위치를 모두 구하는 것이 Z 알고리즘을 활용하여 O(S + P) 에 가능한데 이 방법은 나중에 아래에서 설명하겠다. 그리고 가끔 이런 문제들이 있다. ..