Link bài:
Thuật toán:
Chạy 2 vòng for, lần lượt dùng một biến "dem" để liệt kê các giá trị của bẳng vào một mảng a.
Sắp xếp mảng a và in ra giá trị thứ k của mảng.
Code:
#include <bits/stdc++.h>
using namespace std;
int dem, a[250007], n, m, k;
int main(){...
Link bài:
Cách 1:
Thuật toán:
Sắp xếp các buổi diễn theo thứ tự tăng dần của giờ bắt đầu.
Ta dùng đệ quy để giải quyết vấn đề.
Với buổi diễn thứ i, ta sẽ tìm buổi diễn thứ j (j < i) thỏa giờ bắt đầu buổi diễn thứ j không được sớm hơn giờ kết thúc buổi diễn thứ i. Lặp lại với buổi diễn...
Link bài:
Cách 1:
Thuật toán:
Sắp xếp các con búp bê lớn dần theo thứ tự kích thước.
Ta dùng các con búp bê lớn nhất để chứa nhiều nhất các con búp bê nhỏ hơn.
Ta có thể dùng thuật toán đệ quy để tính toán (Vì test bài này không quá lớn, nhưng sẽ không phải là cách tối ưu). Mỗi vòng đệ...
Link bài:
Thuật toán:
Do hai ngôi nhà gần nhau nhất chắc chắn sẽ nằm cạnh nhau. Ta sẽ sắp xếp các ngôi nhà theo thứ tựtừ nhỏ đến lớn để dễ dàng tính toán.
Khoảng cách giữa ngôi nhà thứ i và ngôi nhà thứ j tới đầu đường là ai và aj => Khoảng cách giữa hai ngôi nhà i và j là ai-aj (i > j)...
Link bài:
Cách 1:
Thuật toán:
Ta dùng thuật toán sắp xếp dãy n số. Như vậy, các số giống nhau sẽ đứng cạnh nhau.
Đến số lượng các số giống nhau bằng biến "dem", như vậy mỗi khi ai == ai-1, ta sẽ cộng dồn "dem".
Một dãy con có "dem" số giống nhau thì số lượng các cặp sẽ là dem* (dem-1) /2...