Segment tree implement
File SegmentTree.h chứa template class SegmentTree dùng để xây dựng cây phân đoạn. Cách dùng rất đơn giản như sau:
vector<int> data_vector = {5, -8, 6, 12, -9};
int sum(int x,int y){ return x+y; }
SegmentTree<int> range_sum_queries(dataVector, 0, sum);Chỉ cần chỉ rõ toán tử 2 ngôi và phần tử đơn vị của toán tử đó. Thao tác trên cây phân đoạn cũng rất đơn giản:
/* query the range l to r, 0 based array indexing.*/
range_sum_queries.query(l, r);
/* update the element at index idx to new_value. */
range_sum_queries.update(i, new_value);Thường thì repo sẽ bao gồm file main.html và Main.mp4, nhưng nó cần một số file khác để chạy hoàn hảo. Chẳng may bị thiếu hoặc bị lỗi do vài lí do nào đó, main.html có thể được render lại bằng cách chạy file main.py với manim và manim-slides package.
Để render ra file slide, đảm bảo máy tính đã cài đặt python và ffmpeg.
Chạy lệnh sau để cài đặt manim và manim-slides package:
pip install manim manim-slidesNếu câu lệnh trên không chạy được, làm theo hướng dẫn cài đặt cho manim và manim-slides.
Tiếp theo, chạy 2 lệnh sau:
manim main.py -qh
manim-slides convert Main main.html --openLần đầu có thể lâu (em thử rồi, được 25 phút), nhưng lần sau sẽ nhanh hơn.
Repo có chia nhỏ main.py thành các file nhỏ, có thể thay thế Main và main.py ở câu lệnh trên bằng tên file và tên class tương đương để giảm thời gian render.
Nếu vẫn không chạy được, mong cô đừng vội cho điểm thấp, email em là [email protected], còn Facebook là https://www.facebook.com/lunalovegood236