atcoder#AGC047D. [AGC047D] Twin Binary Trees
[AGC047D] Twin Binary Trees
Score : points
Problem Statement
Inspired by the tv series Stranger Things, bear Limak is going for a walk between two mirror worlds.
There are two perfect binary trees of height , each with the standard numeration of vertices from to . The root is and the children of are and .
Let denote the number of leaves in a single tree, .
You are given a permutation of numbers through . It describes special edges that connect leaves of the two trees. There is a special edge between vertex in the first tree and vertex in the second tree.
drawing for the first sample test, permutation P = (2, 3, 1, 4), special edges in green
Let's define product of a cycle as the product of numbers in its vertices. Compute the sum of products of all simple cycles that have exactly two special edges, modulo .
A simple cycle is a cycle of length at least 3, without repeated vertices or edges.
Constraints
- where
- (so this is a permutation)
Input
Input is given from Standard Input in the following format (where ).
Output
Compute the sum of products of simple cycles that have exactly two special edges. Print the answer modulo .
3
2 3 1 4
121788
The following drawings show two valid cycles (but there are more!) with products $2 \cdot 5 \cdot 6 \cdot 3 \cdot 1 \cdot 2 \cdot 5 \cdot 4 = 7200$ and $1 \cdot 3 \cdot 7 \cdot 7 \cdot 3 \cdot 1 \cdot 2 \cdot 5 \cdot 4 \cdot 2 = 35280$. The third cycle is invalid because it doesn't have exactly two special edges.
2
1 2
36
The only simple cycle in the graph indeed has two special edges, and the product of vertices is .
5
6 14 15 7 12 16 5 4 11 9 3 10 8 2 13 1
10199246