thuyduong2007
Member
T mới coi sơ qua, cũng đoán là change lower_bound thành upper_bound là đcK rành C++ lắm nhưng về logic thì thay lower_bound thành upper_bound ?
T mới coi sơ qua, cũng đoán là change lower_bound thành upper_bound là đcK rành C++ lắm nhưng về logic thì thay lower_bound thành upper_bound ?
nhỡ sort theo phần tử thứ 2 ra kết quả tốt hơn thì saoLIS pair có thể làm nlogn được đấy.
sort theo phần tử đầu (nếu strictly LIS thì break tie bằng sort decresase thằng thứ 2, còn loosely LIS thì increase thằng thứ 2), sau đó làm LIS trên thằng thứ 2
C++:int maxEnvelopes(vector<vector<int>>& envelopes) { auto n = envelopes.size(); vector<pair<int,int>> v; v.reserve(n); for(auto& env:envelopes){ v.emplace_back(env[0],env[1]); } sort(v.begin(),v.end(),[](const pair<int,int>& a,const pair<int,int>& b){ return a.first == b.first ? a.second > b.second : a.first < b.first; }); vector<int> lis; for(auto p:v){ auto insert_pos = lower_bound(lis.begin(),lis.end(),p.second); if(insert_pos == lis.end()) lis.push_back(p.second); else *insert_pos = p.second; } return (int)lis.size(); }
mà cái lower_bound với upper_bound thì khác nhau gì nhỉ, thấy có mã nó chọn low có đoạn mã khác cũng LIS lại chọn upperT mới coi sơ qua, cũng đoán là change lower_bound thành upper_bound là đc
nhỡ sort theo phần tử thứ 2 ra kết quả tốt hơn thì sao
cần t mớm cho ăn luôn k 
ăn sẵn quen, code cho còn bắt chứng minhhttps://en.cppreference.com/w/mà cái lower_bound với upper_bound thì khác nhau gì nhỉ, thấy có mã nó chọn low có đoạn mã khác cũng LIS lại chọn upper
quan trọng là ý tưởng và tính đúng đắn chứ các sách thuật toán toàn mã giả chứ cần gì code fen![]()
cần t mớm cho ăn luôn k
ăn sẵn quen, code cho còn bắt chứng minh
thế anh nói thế này thì đã ngâm code được bao lâu r ?nhỡ sort theo phần tử thứ 2 ra kết quả tốt hơn thì sao
đấy fen phải giải thích mới hiểu được chứ, cái này mặc dù fen giải thích rùi tẹo tui vẫn phải nghĩ thêm 1 tiếng nữa chắc mới hiểu. Thấy lạ là ko ai hỏi thuithế anh nói thế này thì đã ngâm code được bao lâu r ?
nghe câu đã k muốn giải thích![]()
do swap phần tử các cặp thì đáp án k đổi nên sort theo thằng nào k quan trọng (tính đối xứng)
chứng minh tường tận thì giả sử sort theo thằng 2 cho ra 1 đáp án tốt hơn, thì sort theo thằng thứ nhất cũng sẽ detect được đáp án đó.
bồ câu, bớt quote tôi cáiCho dãy có n phần tử, Tìm LIS, bỏ các phần tử ra, tiếp tục tìm LIS, bỏ các phần tử ra, tiếp tục... đến khi loại bỏ hết các phần tử ban đầu ra.
được k cái LIS. Suy ra Longest Non Increase Sequences = k.
Cái này có tên gọi hay thuộc nhóm bổ đề nào không nhỉ mấy fen?
@clonemasteruwu @_Gia_Cat_Luong_ @thuyduong2007

Xin nhỗi chứ k hiểu fen đang nói gì luôn ?Cho dãy có n phần tử, Tìm LIS, bỏ các phần tử ra, tiếp tục tìm LIS, bỏ các phần tử ra, tiếp tục... đến khi loại bỏ hết các phần tử ban đầu ra.
được k cái LIS. Suy ra Longest Non Increase Sequences = k.
Cái này có tên gọi hay thuộc nhóm bổ đề nào không nhỉ mấy fen?
@clonemasteruwu @_Gia_Cat_Luong_ @thuyduong2007
chuẩn đó fen, thử làm mà xemXin nhỗi chứ k hiểu fen đang nói gì luôn ?
Sao làm vậy lại suy ra đc Longest Non Increase Sequences = k ? Mà định nghĩa LNIS là gì v ? Chuỗi con giảm dài nhất (loosely) ?
https://oj.vnoi.info/problem/lis2vn...IbZu65lYkFuyQ9E0m7Z7gHxrjyRiM-c8GVCvrr-eIuRQQbồ câu, bớt quote tôi cái![]()
![]()
trình ở 1k5 thì practice ở 1k5 đihttps://oj.vnoi.info/problem/lis2vn...IbZu65lYkFuyQ9E0m7Z7gHxrjyRiM-c8GVCvrr-eIuRQQ
LIS pair ko cho sort thì làm sao fen @_Gia_Cat_Luong_ @thuyduong2007
học bộp chộp tưởng là hay nhưng thực ra là tự phế võ công mình
@_Gia_Cat_Luong_ bảo tui học LIS đầu luyện DP nên tui tìm các bài về LIS, web ý nó ko có rank, ai biết nó ở mức nào trời @@trình ở 1k5 thì practice ở 1k5 đi![]()
học bộp chộp tưởng là hay nhưng thực ra là tự phế võ công mình
bao giờ làm Leetcode contest p3 k bị ngượng tay thì tôi dạy anh bài trên![]()
Cái này gọi là định lí DilworthCho dãy có n phần tử, Tìm LIS, bỏ các phần tử ra, tiếp tục tìm LIS, bỏ các phần tử ra, tiếp tục... đến khi loại bỏ hết các phần tử ban đầu ra.
được k cái LIS. Suy ra Longest Non Increase Sequences = k.
Cái này có tên gọi hay thuộc nhóm bổ đề nào không nhỉ mấy fen?
@clonemasteruwu @_Gia_Cat_Luong_ @thuyduong2007
cái này là bài kinh điển cho 2D segment tree (ST với các ST ở các node) rồi.https://oj.vnoi.info/problem/lis2vn...IbZu65lYkFuyQ9E0m7Z7gHxrjyRiM-c8GVCvrr-eIuRQQ
LIS pair ko cho sort thì làm sao fen @_Gia_Cat_Luong_ @thuyduong2007
Chạy nhanh, sướng, phêThấy mấy bác toàn dùng C/C++ để giải mấy bài toán.
Tại do mấy bác thích như vậy hay là C/C++ có gì đó đặc biệt nên giải mấy bài thuật toán sẽ tốt hơn vậy ?
Hic, fen hiểu nhầm ý tuôi. Ý tui là thay vì LCS thì LIS đỡ hại não hơn. Nhưng mà dù xao thì phen thẩm đc cái LIS thì giỏi hơn tui rồi. Hồi đó tui mất cả tháng mới hiểu nổi con hàng này T_T.@_Gia_Cat_Luong_ bảo tui học LIS đầu luyện DP nên tui tìm các bài về LIS, web ý nó ko có rank, ai biết nó ở mức nào trời @@