본문 바로가기

Computer Science304

프양연 Poker / 정리 후 if else 1. 알고리즘을 알고 있어야2. 어떤 알고리즘을 써서 풀지 계산 완료3. O(N)이 아닌, 자주 쓰는 알고리즘을 적용 할 수 있는지 확인4. 오케이. 그리고 문제 풀이하면 끝5. 간단한 아이디어와 정확히 적용가능한 알고리즘의 범위만 알고 있으면 됨 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221.. 2018. 12. 24.
프양연 Pole / DP 1. 디피 관계식 만들기2. 기준을 제일 작은 막대의 왼쪽, 사이, 오른쪽으로 둠3. 디피 3차원 배열 만듦 123456789101112131415161718192021222324252627282930313233343536373839#include #define MAXN 21long long D[MAXN][MAXN][MAXN]; int main(){ int t, TestCase; int N, L, R; int i, l, r; D[1][1][1] = 1; D[2][1][2] = D[2][2][1] = 1; for (i = 3; i 2018. 12. 24.
프양연 파이의 합 / 서로소 2중 포문 1. 서로소, 최대공약수, 최소공배수 정리 필요2. 수식 이해 2중 포문 끝 123456789101112131415161718192021222324252627282930313233343536#include //const int MAXN = 1000000;const int MAXN = 100; int PHI[MAXN + 1];long long PHI_SUM[MAXN + 1];int tc, T, a, b; int main(void){ freopen("input.txt", "r", stdin); PHI[1] = 1, PHI_SUM[1] = 1; for (int i = 2; i 2018. 12. 24.
프양연 줄 세우기 / 위상정렬 1. 위상정렬 구하는 방법2. DFS, 큐, 디그리 사용 할 수 있음 3. 그 중에서 익숙한 것 사용하면 됨 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758#include struct NODE{ int n; NODE* next;}; const int MAXN = 6, MAXM = 6;//const int MAXN = 50000, MAXM = 150000; NODE* list[MAXN + 1];NODE nPool[MAXM];int CHK[MAXN + 1];int QUEUE[MAXN];int wp, rp;int tc, T, N, M, a, b, s; void pro.. 2018. 12. 24.
프양연 CRT / 최대공배수, 최대공약수 1. 알아야 하는 것 확인2. 오케이3. 최대 공배수, 공약수 알면 끝인가?4. 차이니즈 리마인더 는 무엇? 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#define _CRT_SECURE_NO_WARNINGS #include int N;long long M[10], R[10];long long M_multi; void init(){ for (int i = 0; i 2018. 12. 24.
프양연 괄호 / 구현, 스택? 1. 스택으로도 풀림2. 아이디어 구현으로 풀어도 됨3. 스택으로 풀이한 것 찾아보기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119#include //#define N_MAX 1000 #define N_MAX 11 char arrayC[N_MAX + 1];int arrayN[N_MAX + 1];int tempN.. 2018. 12. 21.
프양연 가장 짧은 길 전부 청소 / 다익스트라 1. 다익스트라2. 큐 사용3. 엣지 사용4. 힙 개념이 없어도 가능? 5. 큐를 2개 사용하는 것 보니, 다익스트라 맞음6. 트리 개념을 인접행렬로 나타냄 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108#define _CRT_SECURE_NO_WARNINGS#include //#define BUILDING_N_MAX 200005//#define ROAD_M_MAX 50.. 2018. 12. 21.
프양연 롤러코스터 / 퀵소트 유저 메인 구현 1. 유저 메인에 대한 혼동되는 것 정리 가능2. 퀵 소트 끝3. 어떻게 소팅할 것인지 파악 후 정리 끝4. 오케이 집중 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687#include//#define Max 200001#define Max 5 #define Mod 1000000007 typedef struct { int a; int b; double c; // (a-1)/b why double?}vector; vector array[Max]; void quic.. 2018. 12. 21.
프양연 최대 부분 배열 / 풀이 구현 1. 풀이 구현2. 오케이3. 예제를 보고4. - 있는 구간을 뛰어 넘고5. O(N) 으로 계산 가능함 12345678910111213141516171819202122232425262728293031323334353637383940#include //int arr[200001]; int main(void){ int test_case; int T; int N; int result; int i, j; int temp; int val; freopen("input.txt", "r", stdin); setbuf(stdout, NULL); scanf("%d", &T); for (test_case = 1; test_case 2018. 12. 21.