题目名称 | 2066. 七十和十七 |
---|---|
输入输出 | xvii.in/out |
难度等级 | ★★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | cqw 于2015-10-19加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:37, 提交:40, 通过率:92.5% | ||||
HZOI_蒟蒻一只 | 100 | 0.007 s | 0.52 MiB | C++ |
wmez | 100 | 0.015 s | 0.29 MiB | C++ |
/k | 100 | 0.019 s | 1.84 MiB | C++ |
zhengtn03 | 100 | 0.020 s | 1.84 MiB | C++ |
神利·代目 | 100 | 0.022 s | 0.96 MiB | C++ |
wangxh | 100 | 0.024 s | 2.62 MiB | C++ |
Hzoi_QTY | 100 | 0.027 s | 0.29 MiB | C++ |
rewine | 100 | 0.030 s | 2.62 MiB | C++ |
LadyLex | 100 | 0.031 s | 0.29 MiB | C++ |
Hzoi_Mafia | 100 | 0.032 s | 2.60 MiB | C++ |
本题关联比赛 | |||
20151019 |
关于 七十和十七 的近10条评论(全部评论) | ||||
---|---|---|---|---|
刚开始读错题以为是一轮扫到底的……知道真相之后才能感觉到这是联赛题= =
http://www.cnblogs.com/Asm-Definer/p/4898630.html |
七十君最近爱上了排序算法,于是Ta让十七君给Ta讲冒泡排序。
十七君给七十君讲完了冒泡排序以后,七十君回家苦思冥想,又创造了一种名
为七十排序的算法。下面是这个算法排序一个排列的过程:
首先从左到右扫描每个相邻数对。如果这两个数是逆序的,则将第二个数(也
就是小的数)放在整个排列的开头,其他数位置不变,并把计数器加一。如果
没有逆序的相邻数对了,就说明已经排好序了,算法终止。
七十君认为计数器的值反映了这个算法的运行时间。但十七君觉得七十君发明
的这个算法会很慢,所以他请你帮忙算算,对于所有长度为n的排列P,
的值,这里f(P)表示排列P运行算法结束时计数器的值。
一行一个整数n。
如果E(n)=a/b,求c使得
bc 三 a (mod 10^9+7)
并输出,其中0≤c<10^9+7,如果e不存在输出-1。
4
250000005
对于排列4 1 3 2,算法结束时计数器的值为5。
4 1 3 2,4和1形成逆序,将1放到排列最前方。
1 4 3 2,4和3形成逆序,将3放到排列最前方。
3 1 4 2,3和1形成逆序,将1放到排列最前方。
1 3 4 2,4和2形成逆序,将2放到排列最前方。
2 1 3 4,2和1形成逆序,将1放到排列最前方。
1 2 3 4,现在排列已经排序完毕。
E(4)=3.25。
数据范围与约定
对于20%的数据,n≤8。
对于40%的数据,n≤30。
对于60%的数据,n≤200。
对于1OO%的数据,n≤10^5。
在此键入。