「GLR-R3」立春
题目背景
「从此雪消风自软,梅花合让柳条新」
“明天就要返校了呢。”
灰色的长发被身后的人儿慢慢地顺着,顺着,于假期最后一个慵懒的清晨醒来,与春日的第一抹阳光迷迷糊糊地耳语,她的目光随着点过窗外的鸟雀,停留在那丛褐色的光秃枝丫。
“天依?”
赤红色的眸子随之望去,片刻,静默。
“如果我能告诉它,今天是立春,是春天的……”
“那么它会抽芽,繁盛,会成为我们窗外或红或绿的美妙。”
“——因为它本该如此,希望如此吧。”
立春 「雏鸟站在悬崖上 展开了翅膀 地平线上的梦想 照进一缕光」
题目描述
由于天依刚睡醒,害怕第一题的题面就迷糊了大家,所以本题只有简要题意。(其实是实在编不下去了。)
设 σ \sigma σ 为任意一个长度为 n n n 的排列, τ ( σ ) \tau(\sigma) τ(σ) 表示其中的逆序对个数,请求出
∑ σ 2 τ ( σ ) \sum_\sigma 2^{\tau(\sigma)} σ∑2τ(σ)
对 ( 1 0 9 + 7 ) (10^9+7) (109+7) 取模的结果。
输入格式
输入一行一个整数 n n n,表示排列的长度。
输出格式
输出一行一个整数,表示所求得的答案。
样例 #1
样例输入 #1
3
样例输出 #1
21
提示
题意解释
本节为部分选手介绍逆序对的定义,对此熟悉的选手可以跳过本节。
对于长度为 n n n 的排列 σ \sigma σ,假设下标从 1 1 1 开始,那么我们称 ( i , j ) (i,j) (i,j) 构成逆序对,当且仅当 1 ≤ i < j ≤ n 1\le i<j\le n 1≤i<j≤n,并且 σ i > σ j \sigma_i>\sigma_j σi>σj; τ ( σ ) \tau(\sigma) τ(σ) 则表示总共有多少对不同的 ( i , j ) (i,j) (i,j) 满足上述条件。
举个例子,对于排列 σ = ⟨ 2 , 4 , 1 , 3 ⟩ \sigma=\lang 2,4,1,3\rang σ=⟨2,4,1,3⟩,有逆序对 ( 1 , 3 ) , ( 2 , 3 ) , ( 2 , 4 ) (1,3),(2,3),(2,4) (1,3),(2,3),(2,4),所以 τ ( σ ) = 3 \tau(\sigma)=3 τ(σ)=3。可见只要 σ \sigma σ 中元素的大小关系确定, τ ( σ ) \tau(\sigma) τ(σ) 就是确定的。
样例 #1 解释
∑ σ 2 τ ( σ ) = 2 τ ( ⟨ 1 , 2 , 3 ⟩ ) + 2 τ ( ⟨ 1 , 3 , 2 ⟩ ) + 2 τ ( ⟨ 2 , 1 , 3 ⟩ ) + 2 τ ( ⟨ 2 , 3 , 1 ⟩ ) + 2 τ ( ⟨ 3 , 1 , 2 ⟩ ) + 2 τ ( ⟨ 3 , 2 , 1 ⟩ ) = 2 0 + 2 1 + 2 1 + 2 2 + 2 2 + 2 3 = 21. \begin{aligned} \sum_{\sigma}2^{\tau(\sigma)} &= 2^{\tau(\lang 1,2,3\rang)}+2^{\tau(\lang 1,3,2\rang)}+2^{\tau(\lang 2,1,3\rang)}+2^{\tau(\lang 2,3,1\rang)}+2^{\tau(\lang 3,1,2\rang)}+2^{\tau(\lang 3,2,1\rang)}\\ &= 2^0+2^1+2^1+2^2+2^2+2^3\\ &= 21. \end{aligned} σ∑2τ(σ)=2τ(⟨1,2,3⟩)+2τ(⟨1,3,2⟩)+2τ(⟨2,1,3⟩)+2τ(⟨2,3,1⟩)+2τ(⟨3,1,2⟩)+2τ(⟨3,2,1⟩)=20+21+21+22+22+23=21.
数据规模与约定
本题采用 Subtask 的计分方式。
子任务编号 | n n n | 分值 |
---|---|---|
1 1 1 | ≤ 4 \le4 ≤4 | 5 5 5 |
2 2 2 | ≤ 10 \le10 ≤10 | 20 20 20 |
3 3 3 | ≤ 100 \le100 ≤100 | 20 20 20 |
4 4 4 | ≤ 1 0 3 \le10^3 ≤103 | 25 25 25 |
5 5 5 | ≤ 1 0 7 \le10^7 ≤107 | 30 30 30 |
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容