본문 바로가기

분류 전체보기

(54)
에라토스테네의 체 //주석에 유념 void era() { arr[0] = -1; arr[1] = -1; for (ll i = 2; i
[이진탐색 알고리즘] , [투 포인터스 알고리즘] 차이 [이분탐색 알고리즘 : https://ledgku.tistory.com/35] [탐색 알고리즘] 이진 탐색 알고리즘(Binary Search) [탐색 알고리즘] 이진 탐색 알고리즘(Binary Search) 이진 탐색 알고리즘 이진 탐색 알고리즘을 위해서는 데이터가 정렬되어 있어야 한다. 이진 탐색 알고리즘은 정렬된 데이터가 아니면 적용이 불�� ledgku.tistory.com [이진탐색 대표문제] https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데,..
세그먼트 트리 수학의 정석처럼 정리되어 있는 블로그 : https://www.crocus.co.kr/648 세그먼트 트리(Segment Tree) 세그먼트 트리(Segment Tree)는 요청하는 쿼리에 대해 방식이 달라질 수 있으나, 모든 쿼리를 다룰 수 없기에 구간 합에 대한 세그먼트 트리를 정리해 두었습니다. 내용이 길지만 그만큼 자세히 설명하려 노력하였.. www.crocus.co.kr 풀어볼 문제 01. https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 회수이고, K는 구간의 합을 구하는 회수이다. ..
abs함수는 자료형에 따라 라이브러리가 다르다 #include //int형 #include //float, double형
sort [벡터의 경우] vector v; sort(v.begin(), v.end()); [배열의 경우] int arr[10]; sort(a, a+10);
lower bound, upper bound 둘 다 이진탐색 기반의 탐색 기법이다. 이진 탐색 기반이므로 배열이나 리스트와 같은 자료구조가 오름차순으로 정렬 되어있어야 한다. * lower bound = n개로 이루어진 정수 집합에서 원하는 수 k 이상인 수가 처음의 등장하는 위치 반환. k가 없으면, k보다 큰 가장 작은 정수 값을 반환 * upper bound = n개로 이루어진 정수 집합에서 원하는 수 k보다 큰 수가 처음으로 등장하는 위치를 반환.
https://www.acmicpc.net/problem/9471 피보나치수열을 m으로 나눈 나머지에서 0과 1이 연속으로 나온다면 주기가 나온 것. #include using namespace std; int main() { int tc, n, m; cin >> tc; while (tc--) { cin >> n >> m; int a = 0; int b = 1; int cnt = 0; while (1) { if (a == 0 && b == 1 && cnt != 0) { break; } int tmp = a; a = b; b = (tmp + a) % m; cnt++; } cout
s1[i-1] = s1.at(j-1) string s1; 에서 s1[i-1] = s1.at(j-1) 동일하다