Chuỗi ký tự nâng cao

Chuỗi ký tự nâng cao Băm chuỗi Băm đa thức \(f(s)=\sum^l_{r=1}s_i\times b^{i-1}\pmod M\)。 Băm ma trận Phù hợp cho việc băm tập hợp chuỗi. Nếu dùng băm đa thức, tập hợp chuỗi \(\{ab,bd\}\) và \(\{ad,bd\}\) sẽ có cùng giá trị băm. Ta biểu diễn mỗi ký tự thành một ma trận \(2\times 2\). Với chuỗi giống nhau thì nhân ma trận, khác nhau thì cộng ma ...

Đăng vào ngày 22 tháng 9 lúc 22:25

Giải các bài toán từ cuộc thi ICPC 2021 khu vực Thẩm Dương

B. Dãy số XOR từng bit Đề bài yêu cầu tìm một dãy số nguyên sao cho mỗi cặp chỉ số (u, v) thỏa mãn điều kiện a[u] ⊕ a[v] = w. Ta có thể mô hình hóa bài toán dưới dạng đồ thị: mỗi số là một đỉnh, mỗi ràng buộc là một cạnh với trọng số tương ứng. Khi xây dựng đồ thị, cần kiểm tra hai trường hợp đặc biệt: tồn tại cạnh trùng lặp hoặc chu trình. Vớ ...

Đăng vào ngày 15 tháng 9 lúc 06:28

Mảng và Con Trỏ trong C++: Hướng Dẫn Chi Tiết

Mảng trong C++ Mảng là tập hợp các phần tử cùng kiểu dữ liệu được lưu trữ liên tiếp trong bộ nhớ. Mảng được phân loại thành mảng một chiều, mảng hai chiều và mảng ký tự. Mảng một chiều Định nghĩa Cú pháp: kiểu_dữ_liệu tên_mảng[kích_thước]; Kích thước mảng phải là hằng số. Ví dụ: int arr[5]; // Mảng 5 số nguyên char str[10]; // Mảng 10 ký tự ...

Đăng vào ngày 15 tháng 8 lúc 18:31

Xử lý Mảng và Chuỗi bằng C

Tìm giá trị lớn nhất và nhỏ nhất trong mảng #include <stdio.h> #define KICH_THUOC 5 void nhapDuLieu(int mang[], int n); void xuatDuLieu(int mang[], int n); void timMinMax(int mang[], int n, int* pmin, int* pmax); int main() { int a[KICH_THUOC]; int min, max; printf("Nhập %d số nguyên:\n", KICH_THUOC); nhapDu ...

Đăng vào ngày 22 tháng 7 lúc 15:58

Các thao tác cơ bản với chuỗi trong Redis

Thiết lập giá trị cho một khóa Lệnh: set Cú pháp: set key value 127.0.0.1:6379> set username john_doe OK Lấy giá trị của một khóa Lệnh: get Cú pháp: get key 127.0.0.1:6379> get username "john_doe" Lấy chuỗi con trong khoảng chỉ định Lệnh: getrange Cú pháp: getrange key start end Giải thích: start là vị trí bắt đầu, end là vị trí kết thúc, chỉ s ...

Đăng vào ngày 29 tháng 6 lúc 22:44

Phân tích bài toán B4185: Dãy con bội số (Giải thi đấu Trung Sơn 2024)

B4185 [Giải thi đấu Trung Sơn 2024] Dãy con bội số Mô tả bài toán Cho một chuỗi số, hãy đếm số lượng các dãy con liên tục (substring) thỏa mãn điều kiện là bội số của 4 hoặc 5. Lưu ý rằng: Một dãy con có thể bắt đầu bằng chữ số 0. Hai dãy con được coi là khác nhau nếu chúng bắt đầu từ các vị trí khác nhau trong chuỗi. Một dãy con nếu đồng thờ ...

Đăng vào ngày 22 tháng 6 lúc 08:39

Thực Nghiệm Lập Trình C: Xử Lý Mảng, Chuỗi và Con Trỏ

Thực Nghiệm 1 1.1 1 #include <stdio.h> 2 #define SO_LUONG 5 3 4 void nhap_mang(int du_lieu[], int kich_thuoc); 5 void xuat_mang(int du_lieu[], int kich_thuoc); 6 tim_gia_tri_trung_binh(int du_lieu[], int kich_thuoc, int *nho_nhat, int *lon_nhat); 7 8 int main() { 9 int mang[SO_LUONG]; 10 int min, max; 11 12 printf( ...

Đăng vào ngày 17 tháng 6 lúc 02:20

20 Kỹ thuật thường được sử dụng trong ES6 - Chuyển tải

1. Xáo trộn mảng ngẫu nhiên const items = ['😄', 67, true, false, '55']; items.sort(() => Math.random() - 0.5); console.log(items); // [ '😄', '55', 67, false, true ] 2. Lọc chỉ giữ lại chữ số const input = 'xieyezi 23213 is 95994 so hansome 223333'; const digits = input.replace(/[^\d]/g, ''); console.log(digits); // 2321395994223333 3. ...

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

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