Mã tiền tố là gì
Xử lý tiền tố trong một tập các xâu là một trong những vấn đề thường được đề cập trong các bài toán xử lý xâu. Trong nhiều trường hợp, cấu trúc cây tiền tố (Trie) được coi là một giải pháp hiệu quả. Show Bản chất của cấu trúc Trie là một cây có gốc. Bản thân gốc không chứa thông tin, nhưng mỗi cạnh nối 2 nút trên cây tương ứng với 1 ký tự; do đó đường đi từ nút gốc tới một nút bất kỳ trên cây này cho biết tập đang xét có chứa xâu tiền tố biểu diễn bởi tập các cạnh thể hiện đường đi từ nút gốc tới nút đang đề cập đến. Ví dụ như với cây ở trên, đường đi từ nút 1 tới nút 7 đại diện cho xâu tiền tố “bg”, đường đi từ nút 1 đến nút 10 đại diện cho xâu tiền tố “acd”. Ta nhận thấy, từ mỗi nút, sẽ chỉ có tối đa 1 cạnh tỏa tới một nút khác mà đem theo ký tự c bất kỳ. Nói cách khác, giả sử trên cây này ta muốn lưu thêm 1 xâu “bgh” vào, thì khi xuất phát từ nút 1, ta sẽ không vẽ thêm một cạnh mới chứa ký tự ‘b’ mà sử dụng cạnh chứa ký tự ‘b’ đã có tỏa ra từ nút 1, và đi tới nút 3. Tương tự, ta sử dụng tiếp cạnh 3-7 để tới nút 7, lưu ký tự ‘g’. Tới đây, từ nút 7 không có cạnh nào tỏa ra mà mang theo ký tự ‘h’, ta sẽ vẽ thêm cạnh này, và đích đến của nó sẽ là 1 nút mới (để việc đánh số thứ tự nút liền mạch, ta sẽ coi như nút mới có số thứ tự 11). Trong một số trường hợp, ta sẽ nảy sinh tình huống là không thể biết được đâu là điểm kết thúc xâu. Ví dụ như với cây mới này, ta không thể biết được liệu có xâu “bg” trong tập hợp không, hay “bg” chỉ đơn giản là tiền tố của xâu “bgh” vừa thêm vào. Bởi vậy, mỗi nút có thêm 1 thuộc tính boolean nữa, cho biết nút tương ứng có phải điểm kết thúc của một xâu hay không. Hiển nhiên, ở một bước bất kỳ nào, tất cả các nút lá có trên cây sẽ đều mang trạng thái có. Có 3 thao tác chính có thể thực hiện với cây Trie:
Bài toán tham khảo: P176PROC – ROUND 6C – GOOD OR BAD? (SPOJ – PTIT) Phương pháp: Đây là một bài toán mà phương pháp làm nó đúng như đề bài yêu cầu: kiểm tra lần lượt từng xâu, nếu có xâu không thỏa mãn thì ngừng ngay chương trình ở điểm đó, và in ra “thủ phạm”. Với 10^5 xâu (độ dài xâu không quá 60 ký tự), việc kiểm tra tiền tố có thể dễ dàng được thực hiện bằng Trie, và thực tế có thể thực hiện ngay khi điền thêm thông tin của xâu mới vào cây Trie. Nguyên tắc khi làm việc này sẽ là: ta đặt hai biến boolean, “newRoad” và “endString”, trước khi bắt đầu thực hiện điền xâu, đều khởi tạo là false.
Sau mỗi quá trình, nếu (newRoad = true) và (endString = false) tức là xâu đang xét không phải là tiền tố của bất kỳ xâu nào, hoặc không có xâu nào đã điền trước đó là tiền tố của xâu đang xét, nên ta có thể tiếp tục bài toán. Ngược lại, thì xâu đang xét sẽ là xâu đầu tiên vi phạm nguyên tắc đề bài. Lúc này ta in ra “BAD SET” cùng với xâu đó và kết thúc chương trình. Độ phức tạp: O(K*N) (K là độ dài tối đa của xâu trong input, ở đây K <= 60). Lời giải (của D.Bách): Ideone #ThuyTrang_12A2 Đối với những người học tiếng Anh, phần cấu trúc từ ngữ, đặc biệt biến đổi từ ngữ do tiền tố và hậu tố trong tiếng Anh là một trở ngại khá lớn. Điểm ngữ pháp cơ bản này gây khó khăn cho nhiều người. Acet xin chia sẻ các bí quyết giúp bạn nắm bắt tiền tố và hậu tố trong tiếng Anh thật nhanh và hiệu quả. Định NghĩaTiền tốPrefix hay còn gọi là tiếp đầu ngữ: một chữ cái hoặc một nhóm chữ được thêm vào trước từ gốc để làm thay đổi nghĩa từ. Từ mới được tạo ra có nghĩa theo công thức “nghĩa của tiền tố + nghĩa từ gốc”. Ví dụ: Trong từ “unhealthy” Hậu tốSuffix hay có tên tiếng việt là tiếp vị ngữ: một chữ cái hoặc một nhóm chữ được thêm vào cuối một từ để thực hiện chức năng ngữ pháp. Tiền tố chỉ thay đổi ngữ nghĩa, trong khi đó hậu tố còn có tác dụng ngữ pháp: biến đổi loại từ. Hơn nữa, suffix cũng có thể thay đổi nghĩa của từ. Cấu trúc nghĩa của từ mới được xác định theo công thức “nghĩa từ gốc + nghĩa hậu tố”. Ví dụ: singer (ca sĩ) Prefix – tiền tố trong tiếng AnhÝ nghĩa của tiền tốViệc nắm bắt, hiểu rõ về tiền tố sẽ giúp bạn học từ vựng hiệu quả hơn, tăng vốn từ vựng. Có thể nói, tiền tố trong tiếng Anh góp phần giúp người học sáng tạo ra cách dùng từ mới từ đó có thể thoải mái trong diễn đạt và trở nên linh hoạt hơn. Khi thêm tiền tố vào trước từ gốc, chúng sẽ mang nghĩa trái ngược hoặc mang một nghĩa khác hẳn. Diễn đạt uyển chuyển sẽ vô cùng hữu ích trong các bài thi IELTS, TOEFL, và cả trong thực tế hàng ngày. Các loại tiền tố thông dụngCác tiền tố mang ý nghĩa phủ định thường được biết đến và sử dụng nhiều nhất. Tuy vậy, trong tiếng Anh còn rất nhiều các tiền tố quan trọng khác mà bạn cần biết để chinh phục ngôn ngữ này.
Người học cần chú ý phân biệt được từ gốc và từ được tạo bởi tiền tố. Suffix – hậu tố trong tiếng AnhÝ nghĩa của hậu tốTương tự như tiền tố, người học khi đã nắm bắt tốt phần hậu tố trong tiếng Anh sẽ giảm bớt được khó khăn đáng kể trong việc học từ vựng. Bên cạnh đó, khả năng diễn đạt tiếng Anh sẽ cải thiện linh hoạt hơn. Ngoài ra, hậu tố là điểm ngữ pháp cực kì quan trọng. Khi nắm bắt được một số dạng phổ biến, bạn có thể đoán được từ loại của từ để áp dụng phù hợp trong câu. Các loại hậu tố phổ biến
Có thể thấy, tiền tố và hậu tố trong tiếng Anh không quá khó như bạn nghĩ. Chỉ với vài quy tắc đơn giản, bạn sẽ có thể dễ dàng nắm bắt và vận dụng vào việc học, thi cử hay cả cuộc sống hằng ngày. Cùng ACET phá đảo tiếng Anh nhé! |