Phiên bản cập nhật tháng 7

1/7-11:55: Xin chào tháng 7, nỗ lực hết mình !

4/7-20:39: Mình sẽ làm 50 bài Leetcode từ giờ đến ngày mai, hiện tại được 10/50, tại sao lại là Leetcode, mình sẽ kể sau, những bài mình làm sẽ ở mức Easy và Medium.

7/7-00:20: Đây là một bài khá hay, tìm max của phép XOR giữa hai số trong mảng đã cho, ví dụ: [3,10,5,25,2,8], max = 5^25 = 28 với độ phức tạp thời gian O(N).

1.1>3(11), 10(1010), 5(101), 25(11001), 2(10), 8(1000), cài đặt một cây tiền tố (prefix tree (trie)), coi mỗi từ là một chuỗi nhị phân.
1.2> Tách mỗi từ trong chuỗi nhị phân bằng cách: bit = num&(1<<i) với 31>=i>=0 (giới hạn của int), đã xong phần insert.
2.1> Tìm tất cả các phép XOR trong bài trên Trie vừa cài đặt, nên nhớ phép XOR xuất hiện giá trị khi hai bit khác nhau, tức 0^1=1, 1^0=0, còn lại bằng 0, vậy gỉa sử xx0xx là vị trí hiện tại ta đang đứng, để ảnh hưởng đến kết quả bài toán thì phải tìm số xx1xx, vì vậy, ta lấy flipBit là đảo ngược của bit ở trên, thao tác cũng gần giống như khi tìm kiếm.
2.2> Nên nhớ 1<<i chuyển về số thập phân chính là giá trị thứ i của bit, ví dụ: 110 = 1<<2(2^1) + 1<<1(1^1) = 3.

[Cập nhật]: 8/7-00:44: Có một bài gần tương tự là Palindrome Pairs. Khá hay, nhưng mình làm hơn 200 dòng code và chưa tối ưu mấy, bạn có thể tìm thấy nó trên github của mình.

Source code của mình:
7/7-00:40[FUN]: Định luật Bảo Toàn Móc Áo
Phát biểu định luật: nếu không có gì thay đổi, bạn luôn luôn lấy được số móc áo bằng với số quần áo đang định phơi.
Chứng minh: giả sử bạn có n bộ quần áo trong tủ, tất nhiên sẽ có n móc áo để treo chúng, cứ coi bạn chăm chỉ 2 ngày giặt đồ một lần, số quần áo bạn giặt sẽ là x, vậy tất nhiên số móc áo bạn đã lấy ra cũng là x nốt, vì thế, lần sau, khi giặt đồ, không phải đếm móc áo đâu, cứ lấy tất cả các móc áo nhìn thấy bạn sẽ không bao giờ phải dùng thừa 1 cái nào, hãy giữ thói quen này !!! 

7/7-22:05: Mình sẽ bắt đầu lại thói quen đọc sách, quyển sách mình đang đọc là Đường Xưa Mây Trắng của thiền sư Thích Nhất Hạnh, bên cạnh đó, mình cũng bắt đầu thói quen tập tành một chút vào buổi sáng.

10/7-01:57: Từ hôm nay  mình sẽ có một thử thách nho nhỏ cho bản thân đặt tên là "Súc miệng buổi sáng", mình sẽ làm một bài tập Leetcode random bất kỳ lúc 5:00, trong lúc nghĩ ngợi mình sẽ tập thể thao. 

13/07-22:11: Mơ (bài hát)

Không tính hôm đi thi, ngày cuối cùng nói chuyện với bạn bè cấp 3 với tư cách là một học sinh đối với tôi là một ngày đáng nhớ, mới vài hôm trước, tôi cứ tưởng sẽ chẳng có điều gì khiến tôi phải hối tiếc về 3 năm học ở ngôi trường đó, thú thật, tôi chẳng muốn nhớ, tôi chẳng yêu điều gì ở nơi đó, tôi chẳng ấn tượng với bất cứ cái cây hay với bất cứ điều gì mà người ta ấn tượng, tất nhiên tôi vẫn có những ấn tượng và tôn trọng với những thầy giáo dạy Tin của tôi, thầy chính là người đầu tiên truyền cho tôi tiếp tục ngọn lửa Lập trình sau một thời gian bỏ quãng hồi cấp 2, và tôi nợ thầy một sự nghiệp sau này, tôi ấn tượng với cô giáo dạy Tiếng Anh năm lớp 12 của tôi về sự nhiệt tình với nghề, lần gần đây nhất, tôi định Email cho thầy giáo dạy Xác xuất thống kê ở trường Đại học của tôi để cảm ơn thầy vì sự nhiệt tình và tâm huyết với sự nghiệp, tôi cũng có sự tôn trọng như thế đối với nhiều thầy cô cấp 3.

Nhưng tóm lại, tôi vẫn chẳng sẽ tiếc nuối điều gì ở nơi đấy, bởi có lẽ là ngôi trường đó không làm tôi ấn tượng, hay bởi vì tôi chẳng đủ ấn tượng đối với ngôi trường đó, hay bởi cả hai chúng tôi đều không có ấn tượng về nhau.

Thế mà ngày cuối cùng lại là ngày đáng nhớ, tôi chẳng nhớ bạn bè, tôi cũng chẳng nhớ những tiếng cười của chúng nó, có cơ hội và cùng chung chí hướng, chúng tôi sẽ luôn tìm được nhau, chúng tôi đâu có sống trong ngôi trường đó hay chỉ ràng buộc đối với nhau bằng các cánh cửa lớp, nếu thế thì tình bạn của chúng tôi thật đơn giản và dễ sụp đổ thôi.

Tôi muốn tìm lý do để lưu luyến ngôi trường trong những ngày

14/07-01:12: Nãy giờ mình cài đặt thuật toán sắp xếp độ phức tạp thời gian O(N) nhưng không thành công, lát ngủ sẽ nghĩ lại xem thế nào.

,,

14/07-01:17: [tiếp] -

Tôi muốn tìm lý do để lưu luyến ngôi trường trong những ngày cuối cấp, nhưng không tìm thấy gì. Chẳng vấn vương điều gì ở nơi đó, kể cả một cô gái, điều mà tôi tin là dễ tìm ra nhất.

Nhân tiện nói về những cô gái ở trường đã có những kỷ niệm với tôi hồi cấp 3, ngoại trừ một cô gái tôi không muốn liên quan bất cứ điều gì cả vì cô ấy với tôi từng rất thân thiết hồi cấp 2, chúng tôi đã biết quá nhiều điều về nhau, chúng tôi nên tránh mặt nhau càng nhiều càng tốt (như Patrick Modiano).

Có một người, tôi phải nhắc đến, đó là cô-ấy, tất nhiên rồi, à thôi, 2 cô ấy vậy, người đầu tiên có thể coi là người biết tôi ngay từ khi còn tiểu học, tôi luôn quý bạn ấy, đã có thời gian cấp 2 tôi muốn chia sẻ nhiều điều với bạn ấy, nhưng lúc ấy bạn ấy chưa muốn, rồi cô ấy bước vào cấp 3, chúng tôi chẳng nói chuyện với nhau câu nào thật sự kể từ khi đã rời cấp 2, ngay cả một câu chào cũng không có, cô ấy đều biết tôi và cô ấy có-điều-gì-còn-phải-liên-quan, và cô ấy đã đúng, hè năm cuối cấp, tôi đã nói chuyện với cô ấy qua Internet nhiều hơn tất cả những gì chúng tôi đã nói với nhau trong tất cả thời gian trước, để rồi cuối cùng nó kết thúc bằng cách tôi vào cả tài khoản cô ấy xóa tất cả các tin nhắn trong 2 tháng hè.

Trước khi nói tôi là người ích kỉ, câu chuyện này muốn làm rõ chắc sẽ không thể rành mạch như một bài toán, nhưng cái gì đã-qua-rồi thì không thể quay lại nữa mà. Trong lúc tôi bị chuyển lớp, cô ấy động viên tôi qua một lá thư, tôi rất cảm động với tấm lòng đó, hơn cả lá thư, tại dù cũng hơi buồn, nhưng việc bị chuyển lớp không đến nỗi làm tôi quá khó chịu, nhiều đêm tôi cũng nghĩ khá nhiều về cô ấy, tôi có thể kết luận lại là cô ấy là người thích giúp đỡ người khác, không muốn làm ai đau lòng, tôi có thể đã nghĩ rằng cô ấy hơi ngây thơ với trí thông minh của mình.

Cũng đúng thôi, chúng tôi còn trẻ, chúng tôi có nhiều điều muốn chia sẻ với nhau, mọi chuyện đáng ra nên dừng lại ở đấy, chúng tôi hợp nhau khi nói chuyện, mọi chuyện dĩ nhiên chỉ nên dừng lại ở đấy, cho đến ngày cô ấy nhắn tin, thật kỳ lạ, tôi có khả năng tin được tin nhắn đó, đại loại là cái gì mà dù có chuyện gì cô ấy cũng sẽ ở bên tôi, nhưng vì não tôi và não cô ấy có cấu trúc khác nhau, tất nhiên là tôi và cô ấy có thể hiểu sai vấn đề ở đây, đến giờ, tôi vẫn không biết cô ấy nghĩ thế nào về câu nói đó, vì cô áy thương tôi, ngưỡng mộ tôi, yêu tôi, hay chỉ đơn giản coi tôi là một người bạn, có quá nhiều chiều cần thiết để tôi có thể quy hoạch được bài toán này, nhưng đối với tôi lúc đó, lựa chọn tốt nhất là im lặng, tôi chọn cách dần dần dần biến mất khỏi thế giới của cô ấy, điều đó có thể làm cô ấy đau lòng, nhưng lúc đó tôi nghĩ tôi đã đi quá xa, tôi cần dừng lại.

Rồi đến một ngày giữa năm cô ấy nhắn tin khuyên tôi nên chúc mừng những người tôi yêu và kính trọng một ngày đặc biệt, lúc đó, chẳng biết nghĩ gì, vì men rượu sau mấy buổi tiệc, hay là vì cái tôi nó trỗi dậy, tôi đã chính thức dùng hàm return kết thúc mối quan hệ này vĩnh viễn, tôi nhắn tin: "chúng ta còn không phải là bạn bè". Tôi đoán, điều đau đớn nhất tôi đã làm với một tấm lòng như cô ấy là như vậy, và giờ tôi hiểu được.

Tất nhiên là sau này tôi muốn nói lời xin lỗi, cơ hội chả đến nữa đâu, nhưng tôi vẫn luôn theo dõi cô ấy. Thế rồi cả hai vào Đại học, thế giới của cả 2, hoặc của cô ấy mở rộng theo cấp số nhân, tôi hiểu điều đó.

Vào một dịp chán nản với bài tập tôi thử mày mò một chút vào đời tư cô ấy, xin lỗi, chẳng có gì biện hộ nổi cho hành động ấy, không ngờ cô ấy lại đặt pass là tên một quyển sách mà tôi rất thích, và tôi tò mò, nhắn tin trong chính tài khoản của cô ấy hỏi, và cái ngày ấy rồi cũng đến, tôi không biết một chương trình có 2 lệnh return không, đó là ngày mà cô ấy nói lệnh đó với tôi: "làm ơn, hãy để tớ yên", và tôi hiểu, tất nhiên là hơi muộn, nhưng tôi đã hiểu. Tôi đoán điều làm cả hai đau lòng đó là lại biết đến nhau, nếu có thể đặt lại vị trí pointer như trong ngôn ngữ lập trình, tôi sẽ đặt mối quan hệ của chúng tôi kết thúc ở cuối năm cấp 2, chúng tôi sẽ luôn có những kỷ niệm vừa đủ về nhau, vẫn là những kỷ niệm đẹp. Tôi nghĩ chúng tôi như 2 số nguyên tố, rất giống nhau, nhưng ở giữa luôn có khoảng cách. (Nỗi cô đơn của các số nguyên tố - truyện).

Thế còn cô gái thứ hai, cô ấy đã nói thích tôi rất nhiều lần (trực tiếp), và vô số lần (gián tiếp), tôi là dân IT, việc để có thể tò mò vào đời tư của một cô gái chẳng biết gì về 1+1=0 hay bằng 2 chỉ là do hệ cơ số sẽ chẳng khó khăn gì. Điều làm cô ấy đau lòng đó là tôi, chẳng để gì gì đến cô ấy. Tôi đoán sau này với những lá thư của cô sẽ làm cả hai đứa tôi nhìn lại mà cười, đối với tôi, cô ấy sẽ tìm được người mà sẽ làm cô ấy cười, và mong cô ấy tìm được người như thế.

Quay trở lại với chuyện vấn vương, tôi vẫn không tìm được. Có lẽ tôi có thể kết thúc thời cấp 3 đầy tự hào là chẳng có gì ở ngôi trường ấy khiến tôi nhớ về.

Ngày cuối ở trường trước khi đi thi, như câu đầu bài viết này, những khoảnh khắc cuối cùng khi Mai Anh đứng trước sân trường và nói có ai muốn nói, thể hiện điều gì với các bạn không ? Giây phút ấy, tôi đã nhận ra người tôi thật sự muốn nói, người sẽ luôn gắn tôi với kỷ niêm ngôi trường đó.

Tình cảm của tôi dành cho cô ấy như một phản ứng hóa học mà chất xúc tác lại là câu nói của Mai Anh, lúc đó vẫn chưa  muộn, tôi sẽ đứng lên bục, cầm micro, và nói: "Đây là bài hát mình sẽ dành tặng cho bạn L.O.V.E lớp 12A?, chúc cậu thi tốt lần này", đó là bài hát tôi đang nghe từ nãy đến giờ, bài hát chủ để chính của bài viết này, Mơ - Doãn Hoài Nam: nhưng như câu hát, tôi mong giấc mơ là thật, sự thật đâu là giấc mơ, những câu nói đó chỉ mãi ở trong đầu, đến giờ thì đã quá muộn.

Đến bây giờ, tình cảm ấy đã phát triển và trường thành hơn, tôi hình dung ra nhiều hơn về cuộc sống của tôi nếu hai chúng tôi là một cặp, hoặc hình dung quá nhiều, có lẽ đã đến lúc tạm dừng viết đã.

14/7-19:24: Góc của đồng hồ



Đề tính góc của hai kim đồng hồ đầu tiên ta có góc của kim giờ lấy gốc là trục 6-12. Kim giờ quay 360 độ trong 12 giờ = 720 phút, vậy mỗi phút kim giờ quay được 360/720=0.5 độ.

Như vậy ta có công thức tính góc:  , nếu lớn hơn 360 độ thì trừ đi 360.

Đối với kim phút, quay mỗi vòng trong 60 phút, vậy mỗi phút kim giờ quay được 6 độ.

Như vậy ta có công thức tính góc kim phút: 

Cuối cùng, góc của kim giờ và kim phút sẽ là hiệu của hai khoảng cách trên:



Nếu nó lớn hơn 180 độ thì ta sẽ lấy góc nhỏ hơn là 360-180.

15-7:00:29: 
Sắp xuất bản quyền thứ 4 của Competitive Programming, tôi nghĩ mình nên học sơ qua một chút về Python, từng để ngôn ngữ này học sau cùng bởi tôi nghĩ tôi sẽ dùng nó khá lâu sau này, nhưng tôi sẽ học song song các ngôn ngữ với nhau thì có vẻ hợp lý hơn.

15-7:21:29:

"Sau đây là một bài hát, mà tôi rất yêu của anh Trịnh Công Sơn, xin quý vị nghe, Phôi Pha. Ôm lòng đêm, nhìn vầng trăng mới về nhớ chân giang hồ, ôi phù du từng tuổi xuân đã già, một ngày kia đến bờ, đời người như gió qua, không còn ai đường về ôi quá dài những đêm xa người, chén rượu cay, một đời tôi uống hoài trả lại từng tin vui cho nhân gian chờ đợi, về ngồi trong những ngày, nhìn từng hôm nắng ngời, nhìn từng khi mưa bay có những ai xa đời, quay về lại, về lại nơi cuối trời, làm mây trôi, thôi về đi đường chần đâu có gì tóc xanh  mấy mùa, có nhiều khi từ vườn khuya bước về, bàn chân ai rất nhẹ, tựa hồn những năm xưa.."

Đó là ca khúc tôi đang nghe bây giờ.

"Về ngồi trong những ngày, nhìn từng hôm nắng ngời nhìn từ khi mưa bay có những ai xa đời quay về lại, về lại nơi cuối trời, làm mây trôi, thôi về đi, đường trần đâu có gì tóc xanh mấy mùa, có nhiều khi từ vườn khuya bước về bàn chân ai rất nhẹ tựa hồn những năm xưa..."

Tôi nhớ về ông Nội, tôi nhớ về lần ông và tôi đi Hội một lần, ông ngồi cạnh tôi, cũng cả chục năm rồi, tôi muốn thêm cái cảnh tôi sẽ nắm tay ông vào trong trí nhớ, nhưng không thể. Tôi nhớ buổi trưa ông bảo tôi đi ăn Phở với ông, tôi bảo không tại tôi không đói, ông cũng hiểu, và đi ăn một mình, nhưng hồi đó tôi không hiểu, tôi không hiểu là có thể sẽ chẳng còn lần nào ông cháu rủ nhau đi ăn, tôi không hiểu sẽ chẳng còn lần nào ông cháu ngồi cạnh nhau lâu đến vậy, tôi cũng mường tượng ông đã buồn nhường nào vì thắng cháu ngỗ ngược đến thế, ông ơi ! Giờ cháu cũng lớn khôn rồi, mắt cháu biết cay lên nhưng nước mắt có thể chảy ngược vào bên trong trong im lặng, cháu ước gì ông nhìn thấy cháu bây giờ, thấy cháu trường thành hơn một chút, cũng có thành tích gì đấy khiến ông phải tự hào với mọi người, và hơn hết, cháu sẽ làm ông tin thực sự cháu yêu ông đến nhường nào, cháu hay tưởng tượng khi cháu buồn, cháu tìm một góc tường nào đó và ngồi xuống, ông hiện ra và ngồi bên cháu, chỉ vậy thôi, cháu cũng có thể trò chuyện với ông đấy, cháu vẫn nhớ giọng ông, cách mà ông gọi cháu, cách mà ông bảo cháu, nước mắt trào ra khi cháu hình dung về khuôn mặt ông, mọi thứ thật kiên cường nhưng cũng thật buồn, cháu hình dung được và nhớ được cái không khí, cái cảm giác lần cuối cháu nắm tay ông, cháu chỉ cần nhắm mắt, và cháu đang nhắm matwws ông ạ, có thể sẽ khiến cháu gõ phím sai, nhưng cháu đang nhắm, cháu đang nắm tay ông nè, ông đang nằm đó, thở khó nhọc và  cháu khóc, cháu gọi ông, cháu nhớ cái khoảnh khắc đó, cháu quỳ trươcđ ông, ông ạ, dù ông đang ở đâu đi nữa, hãy giữ gìn sức khỏe ông nhé, ông sẽ không phải cố gắng vì điều gì thêm một lần nữa đâu ông ạ, cháu yêu ông, cháu chúc ông bình yên và luôn mỉm cười, cháu mong ông có được sự thảnh thơi sau một cuộc đời vất vả, cháu hi vọng ông ngủ thật ngon, cháu yêu ông, ông của cháu ạ, cháu yêu ông !.

17-7:05:29: 
Mình đã cài đặt thất bại Tree 2-3 trong 2 ngày, nhưng như Newton nói "If I have seen further it is by standing on the shoulders of Giants.", mình nên cài đặt những cây mà mình có thể hiểu trước đã.



24/07:21:02: 0.(9) = 1

0,(9) = 1, tức là không có số thực nào tồn tại giữa hai số này, nghe có vẻ khó tin. Chứng minh:

x = 0.(9)
10x = 10.(9)
10x-x = 10.(9) - 0.(9)
9x = 9
x = 1
Vậy 0.(9) = 1. 
Điều phải chứng minh.

26/07:12:14: Học về Graph và luyện viết chữ bằng tay trái



Nhận xét

Bài đăng phổ biến từ blog này

Hiểu về Norm Regularization

Những thuật toán nền tảng trong lĩnh vực Trí tuệ nhân tạo (Artificial Intelligence I)