CF1391C.Cyclic Permutations
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A permutation of length n is an array consisting of n distinct integers from 1 to n in arbitrary order. For example, [2,3,1,5,4] is a permutation, but [1,2,2] is not a permutation ( 2 appears twice in the array) and [1,3,4] is also not a permutation ( n=3 but there is 4 in the array).
Consider a permutation p of length n , we build a graph of size n using it as follows:
- For every 1≤i≤n , find the largest j such that 1≤j<i and pj>pi , and add an undirected edge between node i and node j
- For every 1≤i≤n , find the smallest j such that i<j≤n and pj>pi , and add an undirected edge between node i and node j
In cases where no such j exists, we make no edges. Also, note that we make edges between the corresponding indices, not the values at those indices.
For clarity, consider as an example n=4 , and p=[3,1,4,2] ; here, the edges of the graph are (1,3),(2,1),(2,3),(4,3) .
A permutation p is cyclic if the graph built using p has at least one simple cycle.
Given n , find the number of cyclic permutations of length n . Since the number may be very large, output it modulo 109+7 .
Please refer to the Notes section for the formal definition of a simple cycle
输入格式
The first and only line contains a single integer n ( 3≤n≤106 ).
输出格式
Output a single integer 0≤x<109+7 , the number of cyclic permutations of length n modulo 109+7 .
输入输出样例
输入#1
4
输出#1
16
输入#2
583291
输出#2
135712853
说明/提示
There are 16 cyclic permutations for n=4 . [4,2,1,3] is one such permutation, having a cycle of length four: 4→3→2→1→4 .
Nodes v1 , v2 , … , vk form a simple cycle if the following conditions hold:
- k≥3 .
- vi=vj for any pair of indices i and j . ( 1≤i<j≤k )
- vi and vi+1 share an edge for all i ( 1≤i<k ), and v1 and vk share an edge.