Phân tích giải thuật trong kỳ thi NHSPC 2023

B. Mô phỏng trí tuệ nhân tạo Giải pháp đơn giản sử dụng phương pháp duyệt toàn bộ. G. Bảo tàng Chọn k hiện vật có giá trị lớn nhất, ưu tiên vị trí bên trái khi giá trị bằng nhau. Di chuyển tối ưu theo thứ tự từ trái sang phải. H. Phân tách số nguyên bằng dãy palindrome Đặt $D_n$ là số cách phân tách. Dãy palindrome có tính chất đệ quy: loại b ...

Đăng vào ngày 1 tháng 8 lúc 22:28

Giải bài toán Lục Cốc 2024 Quốc Gia A: Xoay Lưới 3x3 Bằng BFS

Bài toán Xoay Lưới 3x3 từ Lục Cốc 2024 Quốc Gia A Đây là giải pháp cho bài toán P10578 từ kỳ thi Lục Cốc 2024 Quốc Gia A. Mô tả bài toán Cho một lưới 3x3 (cửu cung), mỗi ô chứa một số khác nhau. Ở mỗi bước, chúng ta có thể chọn một khu vực 2x2 bất kỳ và xoay nó theo chiều kim đồng hồ. Ví dụ: 1 2 3 4 5 6 7 8 9 Xoay vùng góc trên bên phải ...

Đăng vào ngày 15 tháng 7 lúc 14:48

Giải quyết các bài toán đồ thị và luồng trên mạng phổ biến

Bài toán cứu hộ trên đảo hoang (P4011) Bài toán yêu cầu tìm bước đi ngắn nhất từ ô (1,1) đến ô (n,m) trong một mê cung kích thước $n \times m$. Mê cung này không chỉ có các bức tường ngăn cách mà còn có các cánh cửa khóa và chìa khóa tương ứng. Để đi qua một cánh cửa, người chơi phải sở hữu loại chìa khóa phù hợp. Phân tích thuật toán Với yêu ...

Đăng vào ngày 14 tháng 7 lúc 13:49

Giải bài toán 2019 Zheng Rui Luyện tập cấp độ phổ thông (3) - T4: Trái Đất Lang Thang

Trái Đất Lang Thang Mô tả bài toán Mặt trời già hóa nhanh chóng, để tồn tại, nhân loại đã khởi động kế hoạch di tản quy mô lớn mang tên "Trái Đất Lang Thang". Khi kế hoạch bắt đầu, nhân loại phải trả giá đắt. Sự khởi động của động cơ hành tinh khiến Trái Đất ngừng quay, gây ra sóng thần khổng lồ. Để cứu sống nhiều người nhất, chính ph ...

Đăng vào ngày 2 tháng 7 lúc 05:23

Bài toán về cấu trúc cây và giải thuật

P2015 Cây nhị phân táo (f_{u,i}) thể hiện giá trị lớn nhất khi giữ lại i cạnh trong cây con gốc tại u. (f_{u,i}=max{f_{v,j}+f{u,i-j-1}+w}) #include<cmath> #include<queue> #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #define maxn 210 #define maxm 300000 #def ...

Đăng vào ngày 28 tháng 6 lúc 22:47

Các bài toán tháng 3

Hiện tại vẫn đang tập luyện ARC và CF. ARC075E Câu hỏi là tính số lượng khoảng区间的 trung bình lớn hơn hoặc bằng \(k\). Chúng ta có thể biến mỗi số thành tổng của nó và \(k \times độ dài\) của khoảng, sau đó排序. Nếu một phần tử trong danh sách sắp xếp trước vẫn nằm ở vị trí trước một phần tử khác trong danh sách đã sắp xếp, thì khoảng trung b ...

Đăng vào ngày 24 tháng 6 lúc 20:41

Ứng dụng của đồ thị – Đồ thị liên thông

Input 2 4 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 7 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 Output Yes No Bài toán này yêu cầu kiểm tra xem một đồ thị có hướng có phải là đồ thị liên thông không. Để làm điều này, chúng ta có thể sử dụng thuật toán DFS hoặc BFS. Trong ví dụ này, tôi ...

Đăng vào ngày 23 tháng 6 lúc 00:53

Các Thuật Toán Duyệt và Xử Lý Cây Nhị Phân

Duyệt Tiền Thứ Tự class GiảiPháp { void duyetTruoc(Đỉnh gốc, List<Integer> kq) { if (gốc == null) return; kq.add(gốc.val); duyetTruoc(gốc.trái, kq); duyetTruoc(gốc.phải, kq); } public List<Integer> duyetTienTu(Đỉnh gốc) { List<Integer> kq = new ArrayList(); duyet ...

Đăng vào ngày 19 tháng 6 lúc 02:03

Giải thuật và Cài đặt Các Bài Toán Từ Cuộc Thi Lập Trình AtCoder ABC299

Bài A – Hộp Bảo Bối Xuất phát từ một chuỗi ký tự gồm ba ký hiệu đặc biệt: '|' (hai dấu gạch đứng biểu thị hai cạnh của hộp) và '*' (một ngôi sao đại diện cho vật phẩm). Nhiệm vụ là xác định xem ngôi sao nằm bên trong hay bên ngoài hộp — tức là có nằm giữa hai dấu gạch hay không. Cách tiếp cận đơn giản: duyệt chuỗi để ghi nhận vị trí đầu tiên và ...

Đăng vào ngày 4 tháng 6 lúc 06:28

Giải Thuật Tìm Kiếm: Phân Tích Bài Toán Từ Cơ Bản Đến Nâng Cao

Bài toán Badge (A) Với ràng buộc n \leq 1000, ta có thể áp dụng tìm kiếm chiều sâu (DFS) kết hợp mảng đánh dấu. Ý tưởng chính: với mỗi đỉnh xuất phát, duyệt theo liên kết cho đến khi gặp đỉnh đã thăm trước đó. #include <iostream> #include <vector> using namespace std; const int MAX = 1005; int n, ket_qua, lien_ket[MAX]; bool da_tha ...

Đăng vào ngày 3 tháng 6 lúc 20:15