Thực hành lập trình căn bản
1. Bài tập thực hành 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 5
int main() {
int value;
int index;
srand(time(0));
for(index = 0; index < SIZE; ++index) {
value = rand() % 100 + 1;
printf("20490042%04d\n", value);
}
return 0;
}
Câu hỏi 1: Dòng 13 t ...
Đăng vào ngày 14 tháng 6 lúc 08:09
Hiệu Suất Thuật Toán và Cấu Trúc Dữ Liệu
So Sánh Hiệu Suất Thuật Toán
from time import perf_counter
start = perf_counter()
for x in range(1001):
for y in range(1001):
for z in range(1001):
if x + y + z == 1000 and x*x + y*y == z*z:
print(f"x, y, z: {x}, {y}, {z}")
end = perf_counter()
print(f"Thời gian: {end - start:.4f} giây") ...
Đăng vào ngày 14 tháng 6 lúc 06:15
Codeforces Round 986 (Div. 2) - Phân tích và giải thuật
Bài A: Di chuyển theo hướng
Do giới hạn nhỏ, ta có thể mô phỏng toàn bộ quá trình di chuyển bằng cách lặp lại chuỗi lệnh nhiều lần. Chỉ cần kiểm tra sau mỗi bước xem đã đến tọa độ mục tiêu chưa.
#include <iostream>
#include <string>
using namespace std;
void process() {
int n, tx, ty;
string moves;
cin >> n >> tx >> ty ...
Đăng vào ngày 12 tháng 6 lúc 08:21
Giải bài toán Trò chơi Hoàng hậu - Phân tích và Cài đặt
Phân tích bài toán Trò chơi Hoàng hậu
Giới thiệu bài toán
Bài toán Trò chơi Hoàng hậu là một biến thể của bài toán Trò chơi Vua từ kỳ thi NOIP 2012. Yêu cầu của bài toán là sắp xếp lại thứ tự các quan đại thần sao cho số tiền thưởng lớn nhất mà một vị đại thần nhận được được giảm thiểu đến mức có thể.
Quy tắc tính thưởng
Giả sử số ở tay trái c ...
Đăng vào ngày 11 tháng 6 lúc 00:44
Giải mã các bài toán Codeforces từ A đến H
Mức độ khó: Đỏ, Cam, Vàng, Xanh lá, Xanh dương, Tím, Đen, Đen
Bài A
Cho hai số nguyên a và b, giải bất phương trình b - 2x ≤ a - x với điều kiện 0 ≤ x ≤ a. Yêu cầu in ra giá trị nhỏ nhất của a - x.
Sau khi biến đổi, ta có x ≥ b - a. Từ đó, ta xét các trường hợp để tìm nghiệm tối ưu.
#include <cstdio>
using namespace std;
int main() {
...
Đăng vào ngày 9 tháng 6 lúc 17:22
Giải pháp cho Vòng 6 Cuộc thi Đa trường HDU 2023
Giải pháp cho Vòng 6 Cuộc thi Đa trường HDU 2023
A. Đếm
Liên kết đề bài
Tóm tắt đề bài
Đếm số lượng chuỗi có độ dài \(n\), bảng ký tự kích thước \(m\) có chu kỳ độ dài \(n-k\).
Phạm dữ liệu: \(n,m,k\le 10^{18}\).
Phân tích giải pháp
Khi \(k=n\) đáp án là \(m^n\), ngược lại chuyển sang có Border độ dài \(k\), đáp án là \(m^{n-k}\).
Độ phức tạp ...
Đăng vào ngày 5 tháng 6 lúc 19:50
Xóa một nút khỏi Cây Tìm kiếm Nhị phân
Các đặc tính của Cây Tìm kiếm Nhị phân
Có ba đặc tính quan trọng của Cây Tìm kiếm Nhị phân (BST) mà bạn nên nắm vững:
1. Duyệt trung thứ tự (In-order traversal) tạo ra một dãy số đã sắp xếp. Thứ tự duyệt: `Con trái -> Nút gốc -> Con phải`.
public LinkedList<Integer> duyetTrungThuTu(TreeNode node, LinkedList<Integer> danhSac ...
Đăng vào ngày 4 tháng 6 lúc 19:40
Các bài toán xử lý chuỗi: Đảo ngược, Thay thế và Xoay chuỗi
1. Đảo ngược chuỗi ký tự
Mô tả bài toán: Viết một hàm để đảo ngược một chuỗi ký tự. Chuỗi đầu vào được cho dưới dạng một mảng ký tự `s`. Bạn phải sửa đổi mảng đầu vào tại chỗ, không được cấp phát thêm không gian cho một mảng khác và sử dụng không gian phụ trợ O(1).
Phương pháp giải: Sử dụng kỹ thuật hai con trỏ, một con trỏ bắt đầu từ đầu chuỗi ...
Đăng vào ngày 4 tháng 6 lúc 18:59
Hướng dẫn các thuật toán STL trong C++
1. Các thuật toán không thay đổi chuỗi
Các thuật toán này không làm thay đổi các phần tử trong container mà chúng thao tác.
1.1 find và find_if
find(begin, end, value): Tìm phần tử đầu tiên bằng với value, trả về iterator (trả về end nếu không tìm thấy).
find_if(begin, end, predicate): Tìm phần tử đầu tiên thỏa mãn một điều kiện nhất định (pr ...
Đăng vào ngày 3 tháng 6 lúc 21:13
Mô hình học ít mẫu mới: Tối ưu hóa giải thuật LeetCode
Dự án LeetCode87: Học thuật toán hiệu quả qua ít mẫu
Dự án LeetCode87 là một kho giải pháp thuật toán đa ngôn ngữ, bao gồm các bài toán từ LeetCode, "Kiến thức Cơ bản Lập trình" (剑指 Offer) và "Cẩm nang Phỏng vấn Lập trình viên" (The Art of Programming). Cấu trúc dự án được tổ chức rõ ràng theo loại bài toán và độ khó, giúp người học tiếp cận ...
Đăng vào ngày 3 tháng 6 lúc 04:28