Canuc80kGIAO DIỆN

Giao diện

Một phong cách gốc cho mọi wiki. Mỗi wiki chỉ đổi màu nhấn, bo góc và tốc độ chuyển động.

Wiki
Nền
Bo góc
Phông
Chuyển động

Gốc

Lấy từ giao diện trang AI đã duyệt (site-kit). Mọi giá trị là biến CSS trong portal.css + theme.css.

Màu

Nền--bg
Nền thanh bên--bg-side
Bề mặt--surface
Rê chuột--hover
Đường kẻ--line
Chữ--text
Chữ phụ--text-2
Chữ mờ--muted
Chữ nhạt--faint
Nhấn--accent
Nhấn đậm--accent-strong
Chữ nhấn--accent-ink
Nền nhấn--accent-soft
Đúng--ok
Nền code--code-bg

Chữ

có chân 500 · 40 · tiêu đề bài
Regularization
có chân 500 · 24 · tiêu đề mục
Vì sao phạt hệ số lớn
có chân 400 · 17 / 1.75 · chữ bài

Ridge co mọi hệ số về phía 0 nhưng gần như không bao giờ đưa hệ số nào về đúng 0. Lasso dùng khoảng cách tuyệt đối thì làm được: ta chấp nhận khớp dữ liệu học kém hơn một chút để dự đoán dữ liệu mới tốt hơn.

không chân 500 · 14 · giao diện
Lộ trình · Trắc nghiệm · Thực hành · Đánh dấu đã học
không chân 500 · 13 · nhãn, chữ phụ
Chương 2 · Bài 2.2
JetBrains Mono · 13.5 · code
model = Ridge(alpha=10).fit(X, y)

Khoảng cách, bo góc, đổ bóng, chuyển động

sp-1
sp-2
sp-3
sp-4
sp-5
sp-6
sp-7
xs
sm
md
lg
pill
Thẻ có đổ bóng --shadow

Theo wiki

Cùng một khung, mỗi lĩnh vực một sắc nhấn (OKLCH, cùng độ sáng nên chữ luôn đủ tương phản).

Tin học và AI

Trí tuệ nhân tạo, Lập trình thi đấu, Python, C++…

Chương 2Đọc thêm
Toán

Toán, Toán olympiad, Đại số, Hình học…

Chương 2Đọc thêm
Khoa học

Vật lý, Hóa học, Sinh học, Thiên văn…

Chương 2Đọc thêm
Cờ và trí tuệ

Cờ vua, Cờ vây, Cờ tướng, Cờ caro…

Chương 2Đọc thêm
Ngôn ngữ

Tiếng Anh, IELTS, Tiếng Nhật, Tiếng Hàn…

Chương 2Đọc thêm
Thi cử

Thi tốt nghiệp THPT, Học sinh giỏi, Thi vào chuyên, Đánh giá năng lực…

Chương 2Đọc thêm
Kinh tế và xã hội

Kinh tế học, Tài chính cá nhân, Kinh doanh, Marketing…

Chương 2Đọc thêm
Nghệ thuật

Âm nhạc, Piano, Guitar, Vẽ…

Chương 2Đọc thêm
Kỹ năng và đời sống

Nấu ăn, Dinh dưỡng, Thể lực, Sơ cứu…

Chương 2Đọc thêm

Thành phần

Đếm trên 67 bài AI, 86 bài Thuật toán và 3.512 đề. Mẫu lấy từ bài AI 2.2, bài Thuật toán 00 và đề canuc80k0000.

Khối codeĐổi

Dùng
434 khối Python (AI), 1.339 khối C++ (Thuật toán)
Hiện tại
Tô màu bằng biểu thức chính quy trong trình duyệt (kit.js)
Chọn
Shiki lúc dựng (có sẵn trong Astro), theme css-variables nối vào màu của trang
Vì sao
Tô đúng ngữ pháp Python, C++ như VS Code; làm một lần lúc dựng nên trình duyệt không tốn JS; đổi màu theo nền sáng/tối bằng biến CSS.
Python · Shiki
import numpy as np

rng = np.random.default_rng(1)
n, k = 100, 30
area = rng.uniform(30, 120, n)
dist = rng.uniform(1, 15, n)
junk = rng.normal(size=(n, k))                       # 30 cột không liên quan đến giá
y = 0.05 * area - 0.15 * dist + 1.0 + rng.normal(0, 0.4, n)

X = np.column_stack([area, dist, junk])              # (100, 32)
X_tr, X_te, y_tr, y_te = X[:40], X[40:], y[:40], y[40:]
mu, sigma = X_tr.mean(axis=0), X_tr.std(axis=0)
A_tr, A_te = (X_tr - mu) / sigma, (X_te - mu) / sigma
print(A_tr.shape, A_te.shape)
C++ · Shiki
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll n, x[105];

signed main() {
    cin >> n;
    for (ll i = 1; i <= n; i++) cin >> x[i];
    ll ans = 1e18;
    for (ll p = 1; p <= 100; p++) {
        ll cost = 0;
        for (ll i = 1; i <= n; i++) cost += (x[i] - p) * (x[i] - p);
        ans = min(ans, cost);
    }
    cout << ans << '\n';
}
3
1 4 7

Kết quả, Input, nút ChạyGiữ

Dùng
995 khối kết quả, 546 khối input
Hiện tại
Kết quả đã chạy thật lúc soạn, bấm Chạy thì in ra từng dòng
Chọn
Giữ. Sau thêm chạy thật: Python bằng Pyodide (chỉ tải khi bấm), C++ gửi máy chấm LQDOJ
Vì sao
Kết quả chạy sẵn luôn đúng và không tốn gì; Pyodide nặng (~10 MB) nên chỉ nạp khi người học muốn sửa code.

Xem hai khối code ở trên: bấm Chạy để in kết quả từng dòng.

Hỏi nhanhGiữ

Dùng
1.532 câu (1.294 AI, 238 Thuật toán), 6.129 phương án
Hiện tại
HTML dựng sẵn + vài dòng JS chấm đúng/sai
Chọn
Giữ, thêm lưu câu đã làm vào tài khoản và phím tắt A-D
Vì sao
Nhẹ, đúng nhu cầu; không thư viện trắc nghiệm nào hợp hơn.

Hỏi nhanh

Giữ nguyên 40 căn train, nhưng tăng số cột rác từ 30 lên 37. Khi đó có 39 hệ số cộng thêm bias, tức là 40 ẩn cho 40 căn. Không cần chạy code, R2R^2 trên train của least squares sẽ là bao nhiêu?

Bộ trắc nghiệm, bài kiểm traĐổi

Dùng
6 bộ ~1.600 câu, đề thật VAIO, chế độ thi có giờ
Hiện tại
Vẽ bằng JS trong app.js của trang AI
Chọn
Ứng dụng React (đảo câu, đếm giờ, nộp bài, xem lại, lưu kết quả vào tài khoản)
Vì sao
Nhiều trạng thái thay đổi liên tục: đúng việc của React.

Công thứcGiữ

Dùng
9.142 công thức trong câu, 202 công thức khối (AI); đề và bài Thuật toán
Hiện tại
KaTeX dựng sẵn lúc soạn (Python), co chữ công thức dài trên điện thoại
Chọn
Giữ KaTeX dựng sẵn
Vì sao
Không tốn JS, có MathML cho trình đọc màn hình; MathJax nặng hơn nhiều.

Bias bb không bị phạt. Nó chỉ dời toàn bộ dự đoán lên hoặc xuống cho khớp mức giá trung bình; phạt bb sẽ kéo mọi dự đoán về 0 dù dữ liệu nói gì.

J(w,b)=∑i=1n(w⊤xi+b−yi)2⏟khớp dữ liệu+λ Ω(w)⏟phạt độ lớn.J(\mathbf{w}, b) = \underbrace{\sum_{i=1}^{n}\left(\mathbf{w}^\top\mathbf{x}_i + b - y_i\right)^2}_{\text{khớp dữ liệu}} + \underbrace{\lambda\,\Omega(\mathbf{w})}_{\text{phạt độ lớn}}.

Hình tĩnhGiữ

Dùng
493 hình SVG (AI)
Hiện tại
SVG dựng bằng script, màu theo biến CSS
Chọn
Giữ SVG; thêm SVGO thu gọn lúc dựng. Ảnh chụp: thành phần Image của Astro (AVIF/WebP, nhiều cỡ, tải chậm)
Vì sao
SVG nét ở mọi cỡ, tự đổi màu theo nền; ảnh chụp cần nén và đúng cỡ màn hình.
Hệ số least squares trên 40 căn: cột rác cũng nhận trọng số đáng kể.-101diện tíchkhoảng cách0.4430 cột rác: lẽ ra hệ số bằng 0
Hệ số least squares trên 40 căn: cột rác cũng nhận trọng số đáng kể.

Hình độngGiữ

Dùng
64 hình ở 63 bài AI
Hiện tại
anim.js 7,5 KB: dải khung WebP vẽ lên canvas, kéo xem từng khung
Chọn
Giữ. Video quay thật: tệp MP4/WebM tự lưu (R2) với thẻ video
Vì sao
Nhẹ hơn video, dừng và kéo từng khung được.
Hệ số của Ridge và Lasso khi λ tăng (cam: diện tích, xanh: khoảng cách, xám: 30 cột rác): Ridge co đều, Lasso đưa từng hệ số về đúng 0.

Hình tương tácĐổi

Dùng
229 hình, 224 loại (Thuật toán)
Hiện tại
viz.js 595 KB nạp nguyên tệp ở mọi bài
Chọn
Tách mỗi loại hình thành một module, chỉ nạp loại có trong bài, khi cuộn tới (island client:visible)
Vì sao
Một bài chỉ cần 2-3 loại hình: bớt khoảng 95% JS của trang bài.
Gõ n của đề để xem cách duyệt nào còn kịp một giây.

BảngGiữ

Dùng
36 bảng (AI), 8 bảng (Thuật toán)
Hiện tại
Bảng HTML, bọc khung cuộn ngang
Chọn
Giữ
Vì sao
Đủ dùng.
C++ Python Ghi chú
vector<T> list Chứa được nhiều kiểu; append có chi phí amortized O(1)O(1)
pair, tuple tuple Không đổi các vị trí; làm khóa nếu mọi phần tử hashable
unordered_map<K, V> dict Giữ thứ tự chèn; tra cứu trung bình O(1)O(1)
unordered_set<T> set Kiểm tra in trung bình O(1)O(1)
map, set có thứ tự không có sẵn Dùng sorted() khi cần, hoặc thư viện ngoài

Khung Mục tiêu, Ghi chúGiữ

Dùng
153 khung Mục tiêu, 3 Ghi chú
Hiện tại
HTML dựng sẵn
Chọn
Giữ, gom thành một thành phần với vài loại (Mục tiêu, Ghi chú)
Vì sao
Một kiểu cho mọi wiki.

Đọc thêmGiữ

Dùng
351 mục (Thuật toán), 696 link ngoài (AI)
Hiện tại
Danh sách tên, nguồn, một dòng mô tả
Chọn
Giữ, dùng cho mọi wiki
Vì sao
Gọn, đúng kiểu tối giản.
  • Complete SearchUSACO GuideBài mẫu duyệt mọi cặp điểm và một bảng khoảng hai mươi bài vét cạn gắn nhãn độ khó.
  • Phép toán bitVNOI WikiBitmask biểu diễn tập hợp, duyệt tập con và các phép toán tập hợp trên mask.
  • Enumerating submasks of a bitmaskcp-algorithmsDuyệt tập con của một mask và vì sao duyệt mọi cặp lồng nhau chỉ tốn 3n3^n.

Đề bàiGiữ

Dùng
3.512 đề Canuc80k
Hiện tại
HTML dựng sẵn, test mẫu
Chọn
Thành phần Đề bài: đề, giới hạn, test mẫu có nút sao chép, nút nộp trên LQDOJ
Vì sao
Dùng chung cho Lập trình thi đấu, Python, kho đề.

Một cửa hàng bán một loại vật dụng với giá đồng mỗi chiếc. Bạn chỉ có các tờ tiền khiến việc thanh toán thuận tiện khi tổng tiền phải có chữ số tận cùng bằng hoặc bằng . Hãy tìm số vật dụng ít nhất cần mua.

Input

  • Một dòng chứa hai số nguyên và .

Output

  • In số nguyên dương nhỏ nhất sao cho có chữ số tận cùng bằng hoặc bằng .

Constraints

  • .
  • .

Scoring

  • Subtask ( số điểm): .
  • Subtask ( số điểm): Không có giới hạn bổ sung.

Example

Test 1

Input

117 3

Output

9

Giải thích: Các chữ số tận cùng của với lần lượt là . Giá trị đầu tiên phù hợp xuất hiện tại .

Biểu đồ dữ liệuThêm

Dùng
Wiki Thống kê, Khoa học dữ liệu, Vật lý
Hiện tại
-
Chọn
Biểu đồ tĩnh: SVG dựng sẵn bằng script như hình hiện nay. Biểu đồ kéo thả: Observable Plot
Vì sao
Tĩnh thì không tốn JS; Plot nhỏ, vẽ SVG, hợp phong cách tối giản.

Sơ đồThêm

Dùng
Mọi wiki
Hiện tại
Vẽ tay bằng SVG
Chọn
Mermaid dựng thành SVG lúc dựng (không nạp Mermaid trong trình duyệt)
Vì sao
Viết sơ đồ bằng chữ, nhanh; Mermaid trong trình duyệt nặng hơn 1 MB.

Bàn cờThêm

Dùng
Cờ vua, Cờ tướng, Cờ vây
Hiện tại
-
Chọn
Cờ vua: cm-chessboard (MIT) + chess.js (BSD). Cờ tướng, cờ vây: chọn khi làm, ưu tiên giấy phép MIT/BSD
Vì sao
Tránh chessground (GPL-3.0) vì buộc mã trang theo GPL.

Hình học độngThêm

Dùng
Toán, Toán olympiad, Vật lý
Hiện tại
-
Chọn
JSXGraph (giấy phép MIT/LGPL) cho hình kéo được; hình tĩnh vẫn SVG
Vì sao
Nhẹ hơn nhúng GeoGebra, tự tô theo màu trang.

Ô viết codeThêm

Dùng
Bài tập, Python, Lập trình thi đấu
Hiện tại
-
Chọn
CodeMirror 6
Vì sao
Khoảng 150 KB so với hơn 2 MB của Monaco; chạy tốt trên điện thoại.

VideoThêm

Dùng
Bài giảng quay thật
Hiện tại
-
Chọn
Tệp tự lưu trên R2 + thẻ video; nếu dùng YouTube thì lite-youtube-embed
Vì sao
Nhúng YouTube thường tải ~1 MB trước khi bấm xem.

Quảng cáo hai sườnThêm

Dùng
Trang gốc canuc80k (sau có thể ở wiki)
Hiện tại
shared/components/Ads.astro, AdCard.astro; dữ liệu shared/lib/ads.mjs
Chọn
Thẻ kiểu codex-resets.com; quảng cáo của nhà tài trợ và của chính trang theo thứ tự tự xếp, cuối cùng một ô trống; Astro + CSS, không JS
Vì sao
Số thứ tự ở góc trái, chữ Sponsor ở góc phải; máy tính rộng ở hai sườn, màn hẹp nằm dưới nội dung.

Biểu tượngGiữ

Dùng
Mọi trang
Hiện tại
30 biểu tượng nét trong kit.js
Chọn
Giữ bộ hiện có; cần thêm thì lấy từ Lucide (cùng kiểu nét, giấy phép ISC)
Vì sao
Đồng bộ nét vẽ.
route
book
quiz
trophy
practice
search
arrow
back
external
check
circle
done
download
copy
wrap
expand
menu
chev
panel
up
close
moon
sun
play
replay
notebook
flag
send
bulb
globe

Phông chữĐổi

Dùng
Mọi trang
Hiện tại
Lora, Inter, JetBrains Mono tự lưu (woff)
Chọn
Giữ, chuyển sang woff2 cắt theo bộ chữ Latin + tiếng Việt
Vì sao
Nhẹ hơn khoảng 30-50%, đủ dấu tiếng Việt.

Xem phần Chữ ở trên.

Nút, nhãn, phân trangGiữ