# Road To HSG Tỉnh BR-VT 2025 >[!Note] Background info > Chỉ còn bốn ngày nữa trước khi diễn ra kỳ thi Chọn HSG tỉnh Bà Rịa - Vũng Tàu khối 9 vào ngày ==04/03 (Thứ Ba)== tại ==trường THPT chuyên Lê Quý Đôn==. - *Các bạn đã chuẩn bị tốt cho kỳ thi này.* - *Các bạn đã tích lũy đủ kiến thức và kỹ năng cho kỳ thi này.* - *Kỳ thi này là một cơ hội, hơn là một phép thử hay một bài kiểm tra.* **Hãy đọc những dòng sau đây để sẵn sàng đấm kỳ thi HSG năm nay.** [toc] ## Tâm bất biến giữa phòng thi vạn biến :::success ***"Mang tiếng là thi code, nhưng ai tâm lý vững hơn người đó thắng"*** > Anh Nhân giấu tên. ::: ### Trước khi thi #### Pể pressủe (Peer pressure) **Nhân:** Trời ơi, sao thằng Thông nó làm bài giỏi quá vậy. Thằng Khoa với Minh sao nó biết nhiều thuật toán quá. 😭😭😭😭😭😭😭😭😭 **(Trong khi đó...) Khang:** Yo yo trâu 2 for, thử tất cả trường hợp, if else skibidi. What the food được giải số rồi yay! 😁😄😁😄 Tin anh đi, nếu **Nhân** vẫn cứ lo lắng như thế cho đến tận ngày diễn ra kỳ thi, thì kết quả của **Nhân** có lẽ còn không bằng **Khang**! >[!Warning] > Đây là giai đoạn cần biết ==tự khích lệ bản thân== hơn bao giờ hết. Tâm lý phải vui vẻ, nhẹ nhàng, rồi muốn học thêm gì thì học, muốn ôn tiếp gì thì ôn. >[!Caution] > 1. Được bao nhiêu thằng **Thông, Khoa, Minh** trong thực tế? Rất ít. Thường đấm nhau trong nhóm giải Nhất và giải Nhì là hết. > 2. Chắc gì đi thi **Thông, Khoa, Minh** vẫn giải bài xuất sắc như khi luyện tập? Không có gì là chắc chắn cả. > 3. Biết là một chuyện, nhưng với môn Tin thì kể cả có biết bài đó phải dùng chính xác thuật toán gì, cũng chưa chắc đã làm được. > 4. Lo lắng đến mấy thì **Thông, Khoa, Minh** nó vẫn giỏi. Thứ duy nhất mà sự lo lắng của mình tác động đến là tâm lý íu đuối mong manh của chính bản thân mình. > 5. Hãy là chàng trai / cô gái thư giãn như **Khang**. Thứ gì đến nó sẽ đến. #### "Bắt buộc phải làm tốt...Thi này quyết định cả tương lai?" (Tin anh đi) Người xưa có câu ***"ép dầu, ép mỡ, ai nỡ ép thi tốt"***. Đã là thi đua, phải ==có thắng có thua==! Kể cả anh cũng đã thua không ít lần. Tệ nhất là mình được $0$ điểm, mình không được thưởng, chứ cũng chẳng mất gì. Cũng chả thể tệ hơn thế nữa, đó là tệ nhất có thể rồi. Ý là, rớt thì thôi, vẫn còn 70-80 năm tuổi đời để làm lại mà. ==Đi thi==, thực chất là ==đi học==: - Học được mình đang khuyết thiếu những gì. - Học được cách điều chỉnh tâm lý khi thi. - Và nếu lỡ thua, thì học được cách thua. >[!Tip] > **Phòng thi là chiến trường, giấy bút là vũ khí, thí sinh là chiến binh.** > > Mà thương binh liệt sĩ về sau mọi người rất xem trọng và ưu ái. ### Trong thời gian thi :::warning **Làm gì thì làm, không được để bị phân tâm bởi thí sinh khác.** ::: - Thằng bên cạnh mình gõ nhanh quá, không biết nó làm tới bài nào rồi nhỉ? - Thằng trước mình sao nó lật đề tới bài 3 rồi????? WTF. - Thằng đằng sau mình xin thêm tờ nháp!? - Thằng bên phải mình nó ngừng gõ phím ngồi chơi luôn rồi. Bruh... **Dừng lại ngay!** Hỏi cái nha, làm tới bài mấy rồi? >[!Warning] > Khi đi thi, **rất dễ** để chúng ta bị cuốn theo những suy nghĩ giống ở trên, nhất là khi bài có phần khó và đòi hỏi chúng ta phải suy nghĩ sâu. > > Cần **khắc cốt ghi tâm**: Mình là nhân vật chính, những người còn lại là NPC. Như đã nói, lo lắng và hoảng sợ vì người khác chẳng mang lại lợi ích gì ngoài gây hoang mang cho chính bản thân. Không hể loại trừ khả năng, thật ra mọi chuyện là như thế này: - Thằng bên cạnh không làm được nên bắt đầu gõ loạn xạ để xả stress. - Thằng trước chỉ coi hết đề một lượt thôi chứ có gì đâu, hoặc không làm được bài trước nên chuyển sang bài sau. - Thằng đằng sau bị đổ nước nên ướt hết nháp. - Thằng bên phải đọc đề xong bất lực, bỏ cuộc luôn. :::success **Chốt lại là,** tập trung làm bài của mình, không quan tâm đến những chuyện khác. ::: ### Sau khi thi >[!tip] :+1: Không dò bài. :+1: Không dò bài. :+1: Không dò bài :::warning **Vì dò bài xong thấy thuật toán đúng, nhưng chắc gì code không bug.** ::: - Dò bài xong thấy đúng, đến lúc kết quả thì điểm thấp. 💔 - Dò bài xong thấy sai, buồn cả mấy tuần bỏ ăn bỏ ngủ, kết quả lại điểm cao. 💔 Dù thế nào đi nữa, việc dò bài chỉ làm đau trái tim nhỏ bé của chúng ta mà thôi 💔. :::success Chỉ khi có thể code lại chính xác những gì mình đã code trong phòng thi, và có test chấm thử, thì mới phần nào xác định được đúng điểm khi thi. ::: Thứ cần quan tâm là sau đó vẫn còn kỳ thi Tuyển sinh, vậy nên hãy kiên nhẫn đợi kết quả chính xác, và trong lúc đó cứ học bài làm bài. ## Công Phá Đề Thi ### Nước Rút Hay Nước Rủi Thời gian sát ngày thi, tuyệt đối đừng nhồi nhét những kiến thức mới nữa. Vì không bao giờ bài thi sẽ cho ra một bài điển hình của mảng kiến thức nào đó, mà đòi hỏi phải biến đổi nhiều bước. Hơn nữa, vì mới tiếp thu một kiến thức lạ, khi vào phòng thi rất dễ xảy ra tình trạng ==ngáo thuật==, tức là dù đề bài như nào cũng không ngừng nghĩ đến kiến thức minh vừa mới học. >[!Tip] > Thay vào đó, hãy tập luyện lại những bài toán quen thuộc về sắp xếp, tìm kiếm, số nguyên tố, quy hoạch động, ... ### Chúng ta của hiện tại Vào phòng thi, kiểm tra ngay đồng hồ của máy tính. Nếu phát hiện mình đang ==sống ở tương lai== hay ==sống ở quá khứ== thì hãy chỉnh lại về ==hiện tại== nhé. Tốt hơn hết, hãy tự chuẩn bị cho mình một chiếc ==đồng hồ cơ==. ### Các bài multitest Trong trường hợp gặp phải những bài có **nhiều test** trong một file input, cần đặc biệt chú ý ==reset== các biến và mảng sau mỗi test. ### IELTS Reading 9.0 Không có gì đảm bảo các bài trong đề được sắp xếp từ dễ đến khó, hơn nữa, việc khó hay dễ còn tùy thuộc vào mức độ quen thuộc của thuật toán đối với riêng từng người. Do đó, hãy đọc hết, và **đọc kĩ** tất cả các bài khi mới nhận được đề, sau đó mới làm từ bài mà cá nhân mình thấy dễ ăn điểm nhất. >[!Warning] >Nhấn mạnh là phải ==đọc kĩ==, để tránh trường hợp làm xong mới thấy ==tưởng vậy nhưng không phải vậy==. ### Trâu VS AC :::warning Thi xem ai **nhiều điểm hơn**, chứ không phải thi xem ai **AC nhiều bài hơn**. ::: Có những trường hợp nên ưu tiên code trâu trước: - Subtask dễ chiếm nhiều điểm, ví dụ $80\%$. - Thuật AC chỉ biết chứ chưa làm nhiều, code dài, dễ bug, ... Code trâu xong quay lại code AC vẫn chưa muộn. >[!Note] > ==**Trâu**== – sức mạnh cuồn cuộn, sừng vươn như giáo, bước đi xé toang đất trời. ### Chắc đúng chưa? Thể thức của kỳ thi là ==offline==, nghĩa là việc kiểm tra lại bài là **rất rất rất cần thiết**. Vậy nên, chưa test đủ mỗi bài ==10 lần== thì đừng ngồi chơi. ### Phân chia thời gian Thời gian thi 150 phút không hề dư dả cho 4 bài. Nếu đã mắc kẹt hơn 30 phút cho một bài, đừng ngại chuyển sang bài tiếp theo và quay lại lúc sau nếu còn thời gian. >[!Caution] Ghi nhớ > Vào 10 phút cuối cùng, ngừng code, lưu file, và kiểm tra lần cuối: > - Tên file code, file input, file output. > - Kiểm tra lệnh nhập xuất file. > - **Xóa hết** các lệnh debug thay vì **comment**. ## Đi Vào Lòng Đất ### Dịch lỗi ![image](https://hackmd.io/_uploads/SkhY-b1ikx.png) ![image](https://hackmd.io/_uploads/Syk5-ZJsye.png) ![image](https://hackmd.io/_uploads/ryO5Z-1jyl.png) ![image](https://hackmd.io/_uploads/SJkpWbkoyl.png) >[!Tip] Cách khắc phục > Chạy code vào 5-7 phút cuối, và giữ nguyên không chỉnh sửa gì thêm. ### Sai tên file ![image](https://hackmd.io/_uploads/HJWA-WJsye.png) ### In thừa debug Trước khi nộp bài, hãy Ctrl + F để tìm hết tất cả các lệnh `cout` và soát lại. ### Nhập thiếu input ```cpp=1 int n, a[N]; int tests; cin >> tests; while (tests--){ cin >> n; if (n % 2 == 0){ cout << "NO" << endl; continue; } for (int i = 1; i <= n; i++){ cin >> a[i]; } ... } ``` >[!Tip] Cách khắc phục > Nhập hết input rồi hẵng xử lý. ### Tràn số Tính toán kỹ, hoặc tốt nhất là chỉ xài `long long` chứ không xài `int`. Ngoài ra còn có một vấn đề khác cần lưu ý, đó là việc sử dụng ==LLONG_MAX, LLONG_MIN, INT_MAX, INT_MIN== vì chỉ cần lấy LLONG_MAX + 1 sẽ dẫn đến tràn số, tương tự với LLONG_MIN - 1. >[!Tip] Cách khắc phục > Gọi MX = 1e18 hoặc MX = 1e9. ### Quên modulo ☠️ Sai cái này đi cả bài. ### Reset mảng khi có multitest ```cpp=1 const int N = 1e5 + 5; int n; int ck[N]; int tests; cin >> tests; while (tests--){ cin >> n; memset(ck, 0, sizeof(ck)); for (int i = 1; i <= n; i++){ int x; cin >> x; // 1 <= x <= n ck[x] = 1; } } ``` Nếu bài có $10^5$ test , thì code trên chạy memset $10^5$ lần và do vậy độ phức tạp của code là $O \left( 10^{10} \right)$!. Với các bài multitest, tuyệt đối không được memset (trừ khi bạn biết chính xác bạn đang làm gì). Nên for trâu để thay thế. ### Dùng endl Không sử dụng `endl` mà phải dùng `"\n"` vì `endl` chạy rất chậm. ### Quên dùng lệnh tăng tốc ```cpp=1 int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } ``` Đối với những bài cần nhập vào hoặc xuất ra nhiều số mà thiếu lệnh trên sẽ bị TLE. ## Tips khác ### Đừng xem thường sức mạnh của WC Nếu không thể nghĩ ra được gì trong phòng thi, đừng ngại xin đi vệ sinh để đầu óc ==thay đổi không khí==, biết đâu sẽ nghĩ ra được gì đấy. (Tin anh đi) Anh đã giải được một bài số học khó trong đề Tin học trẻ tỉnh khi anh đang giải quyết nỗi buồn trong WC. ### Kẹo ngọt, sicula và cà phê - Một chút ngọt giúp giảm căng thẳng. - Một chút caffeine từ socola giúp tăng sự tỉnh táo và tập trung. - Hạn chế tiếp nạp quá nhiều cà phê vì có thể khiến tim đập nhanh gây khó chịu. >[!Tip] > Đừng hỏi giáo viên em có được phép mang kẹo / socola vào phòng thi hay không, câu trả lời chắc chắn là không. > > Tuy nhiên, cứ mang vào và đề trên bàn nơi giám thị có thể nhìn thấy. Nếu thực sự kẹo và socola bị cấm một cách nghiêm ngặt, giám thị sẽ yêu cầu em bỏ ra ngoài. Nhưng cá nhân anh khi đi thi chưa bao giờ bị yêu cầu như vậy cả.