Link bài:
Thuật toán:
Những viên gạch to hơn chắc chắn sẽ đặt được nhiều viên gạch hơn lên trên nó.
Ta sắp xếp các viên gạch theo thứ tự tăng dần về độ cứng.
Chọn lần lượt từng viên gạch kèm theo ràng buộc về độ cứng nhỏ nhất trong chồng gạch được chọn, tránh tình trạng quá tải.
VD...
Link bài:
Thuật toán:
Ta sẽ vắt các con bò theo thứ tự từ nhiều sữa nhất đến ít sữa nhất.
Nếu vắt những con bò ít sữa hơn thì những con bò nhiều sữa hơn sẽ bị giảm lượng sữa rất nhiều (Tối đa n-1 lít) trong khi nếu để những con bò ít sữa vắt cuối cùng, chúng có hết sữa giữa chừng cũng không...
Link bài:
Thuật toán:
Ta sẽ dùng đệ quy và 2 con trỏ để giải quyết bài này.
Với con trỏ i, j trên 2 mảng a, b nếu a< b[j] ta sẽ in ra "ai" và tiếp tục với i+1, j. Code:
#include <bits/stdc++.h>
using namespace std;
int c[107], b[107], n, m;
void doit(int i, int j){
if (b[i] <= c[j]...
Link bài:
Thuật toán:
Để giải một bài có độ khó cao hơn trình độ hiện tại, ta cần hoàn thành các bài có độ khó trong tầm với để tích lũy kinh nghiệm. Con đường trên là duy nhất, điểm kinh nghiệm là vô nghĩa nếu độ khó của bài là quá cao.
Bằng tư duy đó, ta sẽ sắp xếp các bài với độ khó tăng...
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:
Gọi số lượng lỗ cắm trên ổ cắm thứ i là Ai.
Ta xác định số lượng ổ cắm cần dùng ít nhất bằng cách dùng lần lượt các ổ cắm lớn nhất đến nhỏ nhất.
Xác định thứ tự ổ cắm bằng cách sắp xếp các ổ theo thứ tự từ lớn đến bé
Sau mỗi lần nối thêm ổ cắm thứ i, số lượng lỗ cắm...