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