http://thptchuyen.ntucoder.net/Problem/Details/9864
em làm bài này ạ
em code như này và AC
nhưng em không hiểu vì sao nó đúng
em vẫn chưa hiểu cách std::sort hoạt động ạ
mọi người chỉ giáo em với ạ
 
      
    http://thptchuyen.ntucoder.net/Problem/Details/9864
em làm bài này ạ
Em cũng đang thắc mắc về hàm std::sort(), cụ thể là ở argument thứ 3 của nó. Function object ở argument thứ 3 theo như em thấy đóng vai trò trong việc xếp tăng/giảm dần. Vậy cụ thể hàm bool ss (như ở ví dụ trên) sẽ return value True hay False thì sẽ sắp xếp tăng dần ạ (Mà thậm chí mình còn không biết argument x và y của hàm ss đang nắm giữ giá trị như nào để mà so sánh ạ).
hàm sắp xếp nào cũng sắp xếp mảng A thành a_1, a_2, a_3, ..., a_n theo thứ tự a_1 \lesssim a_2 \lesssim a_3 \lesssim ... \lesssim a_n nào đó. Arg thứ 3 của nó là để định nghĩa hàm \lesssim này, trả về true nếu x \lesssim y. Hàm \lesssim này có thể hiểu là hàm “đứng trước”: trả về true nếu x đứng trước y sau khi sắp xếp. Nếu ko có arg 3 thì mặc định \lesssim là < hay là hàm bé hơn. Nên arg 3 có kiểu là bool(T, T) thôi :V
muốn sx tăng dần thì có nghĩa là cần hàm \lesssim sao cho số bé đứng trước số lớn, vậy chỉ cần viết return x < y; là đủ :V x đứng trước y nếu x < y. Nếu sx giảm dần == số lớn đứng trước số bé thì viết return x > y; là được :V
dạ vâng em cảm ơn anh ạ
 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?
    83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?