arr이랑 prefix_sum용 ps배열 두개가 있을때
int input;
std::cin >> input;
ps[i] = ps[i-1] + input;
이런식으로 짜면 코드도 길어지고 input 변수도 써야하니까 좀 더 간단하게
std::cin >> ps[i];
ps[i] += ps[i-1]; 처럼 쓸 수도 있음
-------------
std::vector보다는 std::array가 더 빠르고
std::array보다는 일반 배열이 더 빠르다
알고리즘에서 시간 줄일땐 일반배열을 쓰는게 이득이 될 수도 있겠다
하지만 꼭 STL을 써야하는데 속도도 올려야 한다면
vector나 array에 data() 멤버함수가 있고
data멤버함수를 쓰면 메모리 주소를 포인터로 리턴해주는데
이걸 포인터처럼 써서 값에 접근하면 일반배열과 똑같아짐
즉 메모리에 접근만 하면 사실 어떤 방식이던 상관이 없지만
stl은 그 전까지 처리과정이 당연히 추가될 수 밖에 없으니 느려지는듯
2023/02/02 공부한 것, 부족한 것(정리완료)
2023. 2. 2. 09:17