AT_agc047_d.[AGC047D] Twin Binary Trees
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
受到电视剧《怪奇物语》的启发,熊的 Rimac 决定在现实世界和镜像世界之间来回穿梭。
有两棵高度为 H 的完全二叉树,每个顶点按照标准方式编号,从 1 到 2H−1。也就是说,根节点编号为 1,编号为 x 的节点的子节点编号分别为 2⋅x 和 2⋅x+1。
设一棵树的叶子数为 L,即 L=2H−1。
给定 1,…,L 的一个排列 P1,P2,…,PL。这表示两棵树之间有 L 条特殊边。即,第一棵树中编号为 L+i−1 的顶点与第二棵树中编号为 L+Pi−1 的顶点通过一条特殊边相连。

输入样例 1 的图示。P=(2,3,1,4),绿色的边为特殊边
定义一个环的积为其包含的所有顶点编号的乘积。请你求出恰好包含两条特殊边的所有简单环的积之和,并对 109+7 取模。
这里,简单环指的是长度不少于 3,且没有重复顶点和边的环。
输入格式
输入以如下格式从标准输入读入(其中 L=2H−1):
H P1 P2 ⋯ PL
输出格式
请输出恰好包含两条特殊边的所有简单环的积之和,并对 109+7 取模。
输入输出样例
输入#1
3 2 3 1 4
输出#1
121788
输入#2
2 1 2
输出#2
36
输入#3
5 6 14 15 7 12 16 5 4 11 9 3 10 8 2 13 1
输出#3
10199246
说明/提示
限制
- 2≤H≤18
- 1≤Pi≤L(其中 L=2H−1)
- Pi=Pj(即该数列是 1,…,L 的一个排列)
样例解释 1
下图展示了需要考虑的两个环(实际上还有其他)。第一个环的积为 2⋅5⋅6⋅3⋅1⋅2⋅5⋅4=7200,第二个环的积为 1⋅3⋅7⋅7⋅3⋅1⋅2⋅5⋅4⋅2=35280。第三个环不满足恰好有两条特殊边,因此不计入答案。 
样例解释 2
图中唯一的环确实包含两条特殊边,其顶点编号的积为 1⋅3⋅3⋅1⋅2⋅2=36。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?