Phân tích kỹ thuật và giải pháp AtCoder Beginner Contest 368
Bài A: Xoay vòng dãy số
Bài toán yêu cầu chúng ta thực hiện một phép biến đổi trên dãy số nguyên. Cụ thể, cần đưa k phần tử cuối cùng của dãy lên đầu tiên, giữ nguyên thứ tự tương đối, sau đó nối tiếp bởi các phần tử còn lại.
Hướng tiếp cận
Đây là một bài toán thao tác cơ bản trên mảng. Chúng ta không cần thực hiện việc xoay vòng thực sự trên b ...
Đăng vào ngày 10 tháng 10 lúc 06:51
Hướng dẫn giải ABC420 (A–E)
Bài A
Đề bài: sau y tháng tính từ tháng x thì đang ở tháng mấy. Đây chỉ là một phép toán chia lấy dư đơn giản.
void solve() {
int currentMonth, delta;
cin >> currentMonth >> delta;
cout << (currentMonth - 1 + delta) % 12 + 1 << "\n";
}
Bài B
Yêu cầu tìm số hiệu của người chơi có tổng điểm cao nhất. Ta mô ph ...
Đăng vào ngày 6 tháng 9 lúc 13:49
Giải thích bài toán D và F trong cuộc thi AtCoder Beginner Contest 324
Bài toán D - Hoán vị số chính phương
Đề bài yêu cầu tìm số lượng các số chính phương có đúng n chữ số, sao cho tần suất xuất hiện của các chữ số trong số đó khớp với tần suất trong chuỗi đã cho.
Giải pháp hiệu quả là duyệt qua tất cả các số chính phương có thể có. Vì n tối đa là 13, nên ta chỉ cần duyệt các cơ số từ 0 đến sqrt(10^13), tức là kh ...
Đăng vào ngày 29 tháng 6 lúc 00:09
Tóm tắt cuộc thi AtCoder Beginner 335
Các bài tập ABC335
A. Chuyển đổi chuỗi
Đề bài
Cho một chuỗi ký tự \(S\) gồm các chữ cái thường và số.
\(S\) chắc chắn kết thúc bằng 2023.
Thay đổi ký tự cuối cùng của \(S\) thành 4, sau đó in chuỗi đã chỉnh sửa.
Giải pháp
Có hai cách tiếp cận:
Thay thế ký tự cuối cùng bằng 4 và in ra.
In \(n-1\) ký tự đầu tiên sau đó thêm 4.
Mã nguồn
#include ...
Đăng vào ngày 27 tháng 6 lúc 14:32
Phân Tích Giải Thuật AtCoder Beginner Contest 380
Bài viết này phân tích các giải pháp cho các bài toán từ cuộc thi AtCoder Beginner Contest 380, bao gồm các phương pháp tiếp cận và triển khai mã nguồn.
A - Kiểm Tra Chuỗi Số Đặc Biệt
Mô tả bài toán: Bạn được cung cấp một chuỗi gồm sáu chữ số. Nhiệm vụ là xác định xem chuỗi này có chính xác một chữ số '1', hai chữ số '2' và ba chữ số '3' h ...
Đăng vào ngày 17 tháng 6 lúc 00:28
Giải quyết các bài toán trong AtCoder Beginner Contest 386
A - Full House 2
Yêu cầu
Cho 4 số nguyên, hỏi có thể thêm một số nguyên để có đúng 3 số a và 2 số b không?
Cách giải
Sử dụng mô phỏng
Mã nguồn
Xem mã nguồn
#include <bits/stdc++.h>
using namespace std;
void solve() {
int A, B, C, D;
cin >> A >> B >> C >> D;
map<int, int> m;
m[A]++;
m[ ...
Đăng vào ngày 16 tháng 6 lúc 18:47
Giải các bài toán AtCoder Beginner Contest 401
A - Mã Trạng Thái
Trong bài toán này, chúng ta cần kiểm tra một mã trạng thái HTTP đã cho. Nếu mã trạng thái nằm trong khoảng từ 200 đến 299 (bao gồm cả hai giá trị biên), điều đó biểu thị một phản hồi thành công. Ngược lại, nó được coi là một lỗi hoặc trạng thái không thành công.
Cách tiếp cận
Bài toán yêu cầu mô phỏng trực tiếp điề ...
Đăng vào ngày 15 tháng 6 lúc 05:10
Giải các bài toán từ kỳ thi ABC358
Bài A
Đọc hai chuỗi s và t. Nếu s là "AtCoder" và t là "Land", in ra "Yes", ngược lại in "No".
Xem mã nguồn
#include <bits/stdc++.h>
using namespace std;
int main() {
string x, y;
cin >> x >> y;
if (x == "AtCoder" && y == "Land")
cout n >> duration;
vector<int> ready(n);
for (int i = 0; i < n; ++i)
...
Đăng vào ngày 13 tháng 6 lúc 16:00
Giải thích: AtCoder Beginner Contest 189
C - Quả Cam Mandarina
Đề xuất một phương pháp khác với độ phức tạp \(\mathcal{O}(n \log n)\).
Đặt cho vị trí thứ \(i\), vị trí đầu tiên bên trái lớn hơn nó là \(L_i\), và vị trí đầu tiên bên phải lớn hơn nó là \(R_i\).
Ta nhận thấy rằng giá trị tối ưu cho vị trí \(i\) khi làm \(x\) chính là \((R_i-L_i-1)\times val_i\).
Có thể sử dụng danh sách ...
Đăng vào ngày 12 tháng 6 lúc 09:28
Giải bài tập cuộc thi AtCoder Beginner Contest 451
Bài A - Kiểm tra độ dài chuỗi
Hãy kiểm tra xem độ dài của chuỗi có phải là bội số của \(5\) hay không.
Xem mã nguồn
#include
using namespace std;
int main(){
string chuoi;
cin >> chuoi;
int doDai = chuoi.length();
cout > soPhong >> soThayDoi;
vector<int> truocDo(105, 0), sauDo(105, 0);
for(int i=0; ...
Đăng vào ngày 5 tháng 6 lúc 16:20