Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

Dễ

Số Fibonacci thứ n

100 điểm 0% AC 0 đã giải

staffagent

Dãy Fibonacci được định nghĩa bởi \(F_0 = 0\), \(F_1 = 1\) và \(F_k = F_{k-1} + F_{k-2}\) với mọi \(k \ge 2\) (các số đầu tiên là \(0, 1, 1, 2, 3, 5, 8, \dots\)).

Cho số nguyên \(n\), hãy tính \(F_n\). Đây là bài luyện đệ quy, nhưng bạn có thể giải bằng cách nào tuỳ ý miễn đúng và đủ nhanh.

Input

  • Một số nguyên \(n\).

Output

  • In ra \(F_n\).

Constraints

  • \(0 \le n \le 40\).

Sample Input 1

4

Sample Output 1

3

Sample Input 2

5

Sample Output 2

5

Sample Input 3

10

Sample Output 3

55

Sample Input 4

40

Sample Output 4

102334155
Dễ

Sắp xếp lại xâu

100 điểm 0% AC 0 đã giải

root

Cho một xâu \(S\) độ dài \(n\) gồm các chữ cái in hoa từ A đến Z. Hãy sắp xếp lại các kí tự của xâu sao cho không có hai kí tự liền kề nào giống nhau. Trong số tất cả các cách sắp xếp lại hợp lệ, hãy tìm xâu có thứ tự từ điển nhỏ nhất.

\InputFile

  • Một dòng duy nhất chứa xâu \(S\) độ dài \(n\) gồm các kí tự A--Z \((1 \le n \le 10^6)\).

\OutputFile

  • In ra xâu sắp xếp lại có thứ tự từ điển nhỏ nhất sao cho không có hai kí tự liền kề nào giống nhau. Nếu không tồn tại cách sắp xếp nào thoả mãn, in ra \(-1\).

\Examples
\beginexample
\exmp
HATTIVATTI

AHATITITVT

\endexample

\Scoring

  • (\(20\%\)) \(1 \le n \le 10\);
  • (\(80\%\)) Không có ràng buộc thêm.

\endproblem

Dễ

Dãy số hai phía

100 điểm 0% AC 0 đã giải

root

Một dãy số gồm \(M\) phần tử \(a_1, a_2, \dots, a_M\) được gọi là dãy số hai phía nếu thoả mãn đồng thời các điều kiện sau:

  • \(M\) chẵn, khi đó chia dãy thành hai phần \(\{a_1, a_2, \dots, a_{M/2}\}\) và \(\{a_{M/2+1}, \dots, a_M\}\);
  • Các phần tử ở mỗi phần có giá trị bằng nhau, tức là \(a_1 = a_2 = \dots = a_{M/2}\) và \(a_{M/2+1} = \dots = a_M\);
  • Giá trị của hai phần phải khác nhau, tức là \(a_1 \ne a_M\).

Ví dụ:

  • Là dãy số hai phía: \(\{0,0,0,1,1,1\}\), \(\{1,1,2,2\}\), …
  • Không phải dãy hai phía: \(\{1,1,0\}\), \(\{0,0,2,1\}\), \(\{2,2\}\), …

Cho dãy số gồm \(N\) phần tử, mỗi phần tử nhận một trong ba giá trị \(0, 1, 2\) và số nguyên dương \(K\).

Yêu cầu. Hãy thay đổi không quá \(K\) phần tử của dãy số (mỗi phần tử được đổi thành một trong ba giá trị \(0, 1, 2\)) sao cho tồn tại một dãy con liên tiếp là dãy số hai phía có độ dài lớn nhất. In ra độ dài lớn nhất đó.

\InputFile

  • Dòng đầu tiên chứa hai số nguyên \(N, K\) \((1 \le K \le N \le 10^5)\).
  • Dòng thứ hai chứa \(N\) số, mỗi số nhận một trong ba giá trị \(0\), \(1\) hoặc \(2\) mô tả dãy số ban đầu.

\OutputFile

  • Một số nguyên duy nhất là độ dài lớn nhất của dãy số hai phía tìm được sau khi thay đổi không quá \(K\) số của dãy đã cho.

\Examples
\beginexample
\exmp
7 3
2 1 2 0 0 2 1

6

\exmp
4 2
1 1 0 0

4

\endexample

\Note
Ở ví dụ thứ nhất, có thể đổi dãy thành \(2\;2\;2\;0\;0\;0\;1\) (hoặc \(1\;1\;1\;0\;0\;0\;1\)); khi đó \(6\) phần tử đầu tạo thành một dãy số hai phía có độ dài \(6\).

Ở ví dụ thứ hai, dãy đã là dãy hai phía nên không cần thay đổi phần tử nào.

\Scoring

  • (\(50\%\)) \(1 \le K \le N \le 10^2\);
  • (\(30\%\)) \(1 \le K \le N \le 10^3\);
  • (\(20\%\)) Không có ràng buộc thêm.

\endproblem

Dễ

Số nguyên tố Fibonacci

1 điểm 100% AC 1 đã giải

staffagent

Dãy Fibonacci bắt đầu bằng \(1, 1, 2, 3, 5, 8, 13, \dots\) trong đó mỗi số kể từ số thứ ba bằng tổng của hai số đứng ngay trước nó. Một số được gọi là số nguyên tố Fibonacci nếu nó vừa thuộc dãy Fibonacci, vừa là số nguyên tố (ví dụ \(2, 3, 5, 13, 89, 233, \dots\)).

Cho hai số nguyên \(a\) và \(b\). Hãy đếm xem có bao nhiêu số nguyên tố Fibonacci nằm trong đoạn \([a, b]\) (tính cả hai đầu mút).

Input

Một dòng chứa hai số nguyên \(a\) và \(b\), cách nhau bởi một dấu cách.

Output

In ra một số nguyên duy nhất là số lượng số nguyên tố Fibonacci thuộc đoạn \([a, b]\).

Constraints

  • \(0 \le a \le b \le 10^{15}\).

Sample Input

6 100

Sample Output

2

Explanation

Trong đoạn \([6, 100]\) có hai số nguyên tố Fibonacci là \(13\) và \(89\).

Xem thêm