전체 글
-
9463알고리즘/acmicpc 2015. 2. 21. 23:39
자력으로 해결하지 못했다. 다른사람이 푼 해설지 보고 어찌어찌 풀었는데음... 시간 문제는 BIT를 이용해서 해결하는 거로 하고 여기서 명심해야할 거는간선의 개수를 구하는 방법인데... 놀라웠다. 지금까지 나는 기를 쓰고 어케 풀어볼려고 생각했는데간단히 현재까지의 간선의 개수 - 연결된 간선의 위치 까지의 간선수로 한번에 해결 음 그니까 read(N) - read(v[i].second)라는 코드로 한번에 해결했다. 왜 나는 이런게 떠오르지 않을까 지금 생각해보면 정말 간단한 원리인데 원래 N*N에 얽매여서 자력으로 해결하지 못하고ㅠ 또 신기한거는 시간차인데 출력형식이 시간에 영향을 많이 준다.그런데 int보다는 long long이 출력할 때 빠르다. printf("%d") 로 출력하면 시간초과가 뜨는데p..
-
BIT(Binary Indexed Tree)알고리즘/자료구조 2015. 2. 21. 21:56
어려운거 많이 가르치기로 소문난 양교수님께서 왜 BIT를 설명 안해주셨을까이렇게 감탄스러운 자료구조가 있는 줄 몰랐다.RB Tree, AVL, 24 Tree이런거는 구현이 어려운데이거는 구현도 어렵지 않고 편리하다 간단히 소개를 하면기본적으로 어떤 data를 추가 할 때 O(1) 그리고 그 data의 총 합을 구할 때는 O(n)이 걸린다. 하지만 BIT는 추가 할때도 O(logn) 총 합을 구할 떄도 O(logn) 시간이 걸리는신기한 자료구조이다. http://183.106.113.109/30stair/bindexedtree/bindexedtree.php?pname=bindexedtree개념 설명이 내가 너무너무 부족하니 여기 있는 글을 통해서 이해하길... 나는 이것을 어떻게 응용할 것인지를 생각해보면..
-
2776알고리즘/acmicpc 2015. 2. 21. 21:45
암기왕 문제..예상외로 쉽게 풀릴수 있는 문제인데 괜히 어렵게 풀었다.속도도 내 알고리즘이 더 빠를 줄 알았는데 오히려 더 느렸고 메모리도 더 많이 잡아먹고..모두 한꺼번에 모아서 sort함수 때리고 앞의꺼랑 뒤에꺼가 같으면 ok라 놓고 풀었는데계속 오답이 나왔다.. 오답의 원인을 찾으니까 내 알고리즘은 검사를 두 번 실시하면 안에있는 거로 간주하는 문제가 있었다.. 아 진짜 이런 찐따가 따로없다.. binary_search라는 stl이 있어서 빠르게 해결 할 수 있었다... 이런거는 빨리 알아야 하는데아 그리고 왠만하면 cin, cout을 쓰지 말고 #include에서 printf, scanf를 사용하는 습관을 들여야 겠다. cin, cout이 5배나 더 느리다니... 이것도 cin, cout 썼으면 ..
-
ASYMTLING알고리즘/algospot 2015. 2. 21. 12:31
내가 스스로 풀때는 n개를 채울 때 대칭인 경우와 비대칭인 경우로 나누어서접근하려고 했는데 그렇게 풀 필요가 전혀 없었다.책에서 양 끝에서부터 채워가는 방식을 읽고 정말 놀랬다 ㄷㄷㄷㄷ이렇게 생각하면 정말 쉽게 풀리는 구나... 재귀함수의 매력에 놀랬고 저자의 천재성에 감탄하고 나의 부족함을 다시한번 깨달았다 ㅠㅠ양끝이 대칭이면 내부는 비대칭이어야 하고양끝이 비대칭이면 내부는 대칭이어야 한다. 이 경우로 모든 경우의 수를 만들 수 있었다...dp로 문제를 해결하는 두 가지 조건- 모든 경우의 수를 포함해야 하며- 중복되는 경우가 있어선 안된다를 다시 한번 실감하는 순간이었다