본문 바로가기

분류 전체보기93

Suffix Array와 LCP Array #include using namespace std; typedef long long ll; typedef pair pii; vector suffixArray, LCPArray; void getLCP(vector& sa, vector& lcpa, string& s) { int i, j, k, l = 0, m = 26, sLen = s.length(); sa.resize(sLen, 0); lcpa.resize(sLen, 0); // cnt: radix cnt | x: rank vector cnt(max(sLen, m), 0), x(sLen, 0), y(sLen, 0); for (i = 0; i < sLen; ++i) cnt[x[i] = s[i] - 'a']++; for (i = 0; i < m; ++i) .. 2020. 9. 23.
음수 모듈러 const int MOD = 10007; inline int mod(ll n) { if (n >= 0) return n % MOD; return ((-n / MOD + 1) * MOD + n) % MOD; } blog.naver.com/kks227/220927272165 2020. 9. 21.
Topological Sort #include using namespace std; const int MAX = 10000 + 1; vector adj[MAX]; queue Q; int N, res; int indegree[MAX], cost[MAX], result[MAX]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> N; for (int i = 1; i > cost[i]; int K; cin >> K; for (int k = 1; k > p; adj[p].push_back(i); } if (indegree[i] == 0) { Q.push(i); result[i] = cost[i]; res = max(res, result[i]); } } for (int.. 2020. 9. 16.
6일차 2020-09-07 초급 : 17273 카드 공장 (Small) (Bronze II) www.acmicpc.net/problem/17273 17273번: 카드 공장 (Small) 진서는 CTP 카드 공장의 노동자이다. 공장에는 N개의 카드가 있으며 각 카드에는 앞면과 뒷면에 숫자가 쓰여있다. 공장장 노진의 명령에 따라서 진서는 카드를 뒤집어야 한다. 명령은 M번 내려지� www.acmicpc.net from sys import stdin input = stdin.readline n, m = input().split() n = 1 f = True front, back = map(int, input().split()) for i in range(int(m)): k = int(input()) if f: if .. 2020. 9. 15.
5일차 2020-09-06 초급 : 15786 Send me the money (Bronze II) www.acmicpc.net/problem/15786 15786번: Send me the money 입력의 첫째 줄에 석규가 기억하는 원본 알파벳의 수 N(1 ≤ N ≤ 100)과 포스트잇의 개수 M(1 ≤ M ≤ 1000)이 주어진다. 다음 줄에 길이가 N인 알파벳 대문자로 이루어진 문자열 S가 주어진다. 이 후 M www.acmicpc.net from sys import stdin input = stdin.readline N, M = map(int, input().split()) S = input() for _ in range(M): s = S q = input() while len(s)>0: p = q.fi.. 2020. 9. 15.
4일차 2020-09-05 초급 : 17262 팬덤이 넘쳐흘러 (Bronze I) www.acmicpc.net/problem/17262 17262번: 팬덤이 넘쳐흘러 선물 포장 공장을 말아먹은 욱제는 계곡에서 백숙을 파느라 학교에 자주 가지 못한다. 하지만 월클의 인생은 피곤한 법! 욱제는 지금처럼 힘든 시기에도 자신을 기다리는 5조5억명의 열렬한 팬� www.acmicpc.net #include using namespace std; int N; int ef = 100001, sl = -1; int main() { cin.tie(0); cout.tie(0); ios::sync_with_stdio(0); cin >> N; for (int i = 1; i > s >> e; if (s > sl) sl = s; if .. 2020. 9. 15.