@@28tech_ Mình cũng gõ 10 ngón tốc độ là 70 WPM, nhưng khi gõ ký tự đặc biệt thì nó sẽ chậm với hay sai. À mình thấy video của bác là do mình mới làm bài test bên DEV mà nó dùng 2 cái thuật toán là two pointers và window sliding để giải quyết bài toán đó. Đọc tiếng anh mãi thấy video của bác dễ hiểu hơn.
anh có thể dạy những kiến thức về các thuật toán như quy hoạch động , tham lam , quay lui , vét cạn được không ạ?? hi vọng anh sẽ ra video về loạt seri này
Chắc phải trong seri CTDL và GT bạn ạ, mình phải làm xong C++ đã :D. Hiện tại cũng hơi vướng nữa vì mình đang kèm vài bạn môn này nên chưa public được kiến thức, trong khoảng 2 tháng nữa sẽ có.
Anh ơi cái bài sửa đèn em dùng biến ans để lưu giá trị nhỏ nhất của cnt sau mỗi lần trượt cửa sổ và sau cùng in ra ans có được không ạ anh?(Đây là 2 vòng for em làm ạ) anh check giúp em với ạ!!! Em không phải fan MU ạ :)))) int cnt = 0; for (int i = 1; i
a ơi cái bài cửa sổ trượt e dùng sort rồi dùng vòng for so sánh 2 số liên tiếp có nhanh hơn cách của a ko? sort(nums.begin(), nums.end()); for(int i=0; i
anh ơi cái bài cửa sổ trùng nhau 1 đấy em tưởng nếu dùng set thì lúc chèn phần từ vào set nó tự sắp xếp tăng dần sao vẫn ra kết quả đúng ạ, hay là cái lệnh s.erase kia nó xóa chính xác phần tử ở cái chỉ số đấy nên kể cả sắp xếp lại thì nó vẫn đúng ạ
anh ơi thêm câu lệnh gì để khi mình nhập input của nhiều test case vào hết rồi thì nó mới hiển thị output của nhiều test case ạ, em dùng dev c++ mà cứ mỗi test case thì nó lại hiện kết quả rồi nhập tiếp input thì nó hiển thị tiếp output
anh xem giúp em bài cửa sổ trùng nhau 1 em làm như vầy đúng ko ạ #include"bits/stdc++.h" using namespace std; int main(){ int t; cin>>t; while(t-->0){ int n, k; cin>>n>>k; int a[n]; for(int i=0; i>a[i]; setse; int p=0, s=k; for(int i=0; i
Anh ơi cái bài cửa số trùng nhau 1 em không dùng set mà em làm theo cách trượt cửa sổ k phần tử một như này được không ạ anh Anh check giúp em với ạ!!! Em chưa phải fan MU ạ :>>> int v[100001]; int v1[100001] = { 0 }; void solve() { int n, k; cin >> n >> k; bool check = false; for (int i = 0; i < n; ++i) { cin >> v[i]; v1[i]++; } for (int i = 0; i < k; ++i) { if (v1[i] >= 1) { check = true; break; } } if(check == false){ for (int i = k; i < n; ++i) { --v1[i - k]; for(int j = i + 1; j < k; ++j) { if (v1[j] >= 1) { check = true; break; } } } } if (check == true) cout
bạn ơi, cho mình hỏi mảng v1 lưu giá trị gì nhỉ? với cả ở vòng for thứ nhất có đoạn v1[i]++ tức là mảng v1 từ 0->n-1 đều =1 rồi, nên là sang vòng for thứ 2 thì luôn luôn check = true rồi break luôn chứ nhỉ? gthich giúp mình với mình chưa hiểu lắm :(((((((
Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/
Bác code đỉnh vãi! ý là lúc gõ á, rõ rất fluently
:D học gõ 10 ngón là nó nhanh ngay ấy mà.
@@28tech_ Mình cũng gõ 10 ngón tốc độ là 70 WPM, nhưng khi gõ ký tự đặc biệt thì nó sẽ chậm với hay sai.
À mình thấy video của bác là do mình mới làm bài test bên DEV mà nó dùng 2 cái thuật toán là two pointers và window sliding để giải quyết bài toán đó. Đọc tiếng anh mãi thấy video của bác dễ hiểu hơn.
xử lý đoạn 7:34 buồn....cười quá a zai ơi 😆
Haha
video hay quá ạ :))))
Thank you :D
anh có thể dạy những kiến thức về các thuật toán như quy hoạch động , tham lam , quay lui , vét cạn được không ạ?? hi vọng anh sẽ ra video về loạt seri này
Chắc phải trong seri CTDL và GT bạn ạ, mình phải làm xong C++ đã :D. Hiện tại cũng hơi vướng nữa vì mình đang kèm vài bạn môn này nên chưa public được kiến thức, trong khoảng 2 tháng nữa sẽ có.
sao bài sửa đèn trên codeptit lại tle nhỉ
Thầy cho em xin bài tập của phần cửa sổ trượt với ạ
Anh ơi cái bài sửa đèn em dùng biến ans để lưu giá trị nhỏ nhất của cnt sau mỗi lần trượt cửa sổ và sau cùng in ra ans có được không ạ anh?(Đây là 2 vòng for em làm ạ) anh check giúp em với ạ!!!
Em không phải fan MU ạ :))))
int cnt = 0;
for (int i = 1; i
Được em
anh có dự tính làm tiếp các series c++ kh ạ, như là giải những bài tập thuật toán
Em học hết chưa hehe.
đoạn 42:25 sao lại s.erase(s.find(a[j-k])) vậy a
tại vì cửa sổ đang xét lúc đó sẽ ko có phần tử a[j-k] mà nó sẽ có thêm a[j] nên phải xóa a[j-k] ra khỏi multiset đó bạn
8:44 lỗi là sau main() của anh không có ngoặc { mà ở sau lại bình thường ạ
Haha, thank you e. Nhiều khi code nó cũng ngớ ngẩn lắm.
bằng 1 cách nào đó thì bài 2 e xem đi xem lại vẫn kh hỉu 🥲🥲🥲
bạn k hiểu chổ nào ?
@@baoreview7478thanks nhé mmak tui ngồi ngẫm vài tiếng thì hiểu r á :>
a ơi cái bài cửa sổ trượt e dùng sort rồi dùng vòng for so sánh 2 số liên tiếp có nhanh hơn cách của a ko?
sort(nums.begin(), nums.end());
for(int i=0; i
độ phức tạp lớn lắm đảm bảo TLE
cái file bài tập đó mọi người lấy ở đâu v
anh ơi cái bài cửa sổ trùng nhau 1 đấy em tưởng nếu dùng set thì lúc chèn phần từ vào set nó tự sắp xếp tăng dần sao vẫn ra kết quả đúng ạ, hay là cái lệnh s.erase kia nó xóa chính xác phần tử ở cái chỉ số đấy nên kể cả sắp xếp lại thì nó vẫn đúng ạ
Uh đúng rồi e ơi
anh ơi bài 2 cửa số trùng nhau 1 ở vòng for cửa sổ đầu tiên ấy ạ nếu mình insert a[i] trước xong mới kiểm tra thì có sao không anh
Không được e ơi, như thế thì nó sẽ xét ngay phải thằng vừa insert vào là phần tử thỏa mãn, ở đây 2 thằng phải khác nhau.
phần oop hướng đối tượng đã xong chưa anh hay vẫn còn vid nữa ạ
Uh còn phần đa hình nữa nhé e
anh ơi thêm câu lệnh gì để khi mình nhập input của nhiều test case vào hết rồi thì nó mới hiển thị output của nhiều test case ạ, em dùng dev c++ mà cứ mỗi test case thì nó lại hiện kết quả rồi nhập tiếp input thì nó hiển thị tiếp output
Kệ nó ko vấn đề gì đâu
k vào đc link group a ơi
Uh group tạm thời a đóng rồi vì chưa có thời gian để quản lý.
anh ơi cho e hỏi ở phần số đèn cần sửa tối thiểu, tại sao cnt = cnt - a[i-k] + a[i] vậy ạ
anh xem giúp em bài cửa sổ trùng nhau 1 em làm như vầy đúng ko ạ
#include"bits/stdc++.h"
using namespace std;
int main(){
int t; cin>>t;
while(t-->0){
int n, k; cin>>n>>k;
int a[n];
for(int i=0; i>a[i];
setse;
int p=0, s=k;
for(int i=0; i
lên geeksforgeeks
Bác cho cháu xin cái file đấy được không ậ
@@xthbao1 cháu xin ntn thì bác chịu
@@28tech_ Dạ, là sao bác
Anh ơi cái bài cửa số trùng nhau 1 em không dùng set mà em làm theo cách trượt cửa sổ k phần tử một như này được không ạ anh
Anh check giúp em với ạ!!!
Em chưa phải fan MU ạ :>>>
int v[100001];
int v1[100001] = { 0 };
void solve() {
int n, k;
cin >> n >> k;
bool check = false;
for (int i = 0; i < n; ++i) {
cin >> v[i];
v1[i]++;
}
for (int i = 0; i < k; ++i) {
if (v1[i] >= 1) {
check = true;
break;
}
}
if(check == false){
for (int i = k; i < n; ++i) {
--v1[i - k];
for(int j = i + 1; j < k; ++j) {
if (v1[j] >= 1) {
check = true;
break;
}
}
}
}
if (check == true) cout
Được em
bạn ơi, cho mình hỏi mảng v1 lưu giá trị gì nhỉ? với cả ở vòng for thứ nhất có đoạn v1[i]++ tức là mảng v1 từ 0->n-1 đều =1 rồi, nên là sang vòng for thứ 2 thì luôn luôn check = true rồi break luôn chứ nhỉ? gthich giúp mình với mình chưa hiểu lắm :(((((((
anh giải mấy bài gì đâu mà nâng cao quá mức vậy anh ơi! 😢