Hoán vị (HOANVI)

View as PDF

Submit solution

Points: 100.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type

Hoán vị đặc biệt của dãy số ~1,2,3,…,n~ là dãy số ~a_1,a_2,…,a_n (1≤a_i≤n;a_i≠a_j~ nếu ~i≠j;i,j=1,2,…,n)~ thỏa mãn điều kiện: ~1×a_1≤2×a_2≤⋯≤n×a_n.~

Yêu cầu: cho số nguyên dương ~n (1≤n≤10^{18}~ ), hãy đếm số lượng hoán vị đặc biệt của dãy số ~1,2,…,n.~ Do số lượng hoán vị đặc biệt rất lớn nên chỉ cần đưa ra số dư khi chia kết quả cho ~10^9+7~.

Dữ liệu: một dòng chứa số nguyên dương ~n~. Kết quả: đưa ra một dòng chứa kết quả tìm được.

Ví dụ
INPUT
5
INPUT
8

Giải thích: Có 8 hoán vị đặc biệt là: {1, 2, 3, 4, 5}; {1, 2; 3, 5, 4}; {1, 2, 4, 3, 5}; {1, 3, 2, 4, 5}; {1, 3, 2, 5, 4}; {2, 1, 3, 4, 5}; {2, 1, 3, 5, 4}; {2, 1, 4, 3, 5}.

Giới hạn:

  • Subtask 1: 10% số test có ~1≤n≤20;~
  • Subtask 2: 10% số test có ~20<n≤10^6;~</li>
  • Subtask 3: 80% số test có ~10^6<n≤10^{18}~.</li>

Comments

Please read the guidelines before commenting.


There are no comments at the moment.