上学期学长期末题目
来源:互联网 发布:网络协议测试 编辑:程序博客网 时间:2024/04/28 06:17
小金防呀防不住_AK
Time Limit: 1000MSMemory Limit: 65536KB
SubmitStatistic
Problem Description
众所周知,C语言的学习是我们程序设计基础的重点和主要内容。
首先恭喜大家终于来到最后一道题目,那么我要告诉你这次的期末考试题目难度是从题目1到题目8依次递增的。
那么作为最后一道水题,它的存在意义当然是让15级的巨巨们好好动动脑子啦。
小金自从进了集训队,做了很多有关于逆序对的题目,他也很喜欢逆序对。介绍一下逆序对。逆序对就是在一个数组序列中的两个数x和y,但这两个数x和y可以算作一个逆序对的规则是x要大于y,但x的位置一定要在y的前面(即i < j && a[i] > a[j] )。
那么小金的问题来了,如果给定一个长度为n的序列,这n个数保证大于等于0且小于n,并且不会重复。那么小金给了你一个移动操作,你可以将这个序列的第一个数拿到序列的最后将序列变为一个新的序列,例如当n=10的时候,给定一个序列。
那么,所有可能通过移动得到的序列如下。
请你输出在所有可能出现的序列中逆序对的个数最小的是多少?
Input
多组输入。
第一行输入整数n,含义如题意描述。(0 < n < = 5000)
第二行有n个整数(0 < = x < = n-1)。
Output
输出最小逆序对的个数。输入输出各占一行,保证数据合法。
Example Input
101 3 6 9 0 8 5 7 4 2
Example Output
16
Hint
题目很简单,仔细读题喔
Author
2015级期末测试
这题注意提示,题目有句很重要的话已经用黑体标示出来,这样输入的数就可以知道它是第几小了。假如1 那么1就是第二小。
我们就把一往后移到最后的情况,因为它是第二小,比他大的有八个,比他小的有一个。它移到最后面所有比他大的都会多形成一个逆序对,所有比他小的都会减少一个逆序对。
所以,我们先求出最开始输入的逆序对个数。flag
下一组的逆序对就等于 flag = flag + n - ( a[ i ] + 1 ) - a[ i ];
参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
int n, a[5000], i, j, min, flag;
while(~scanf("%d", &n))
{
flag = 0;
memset(a, 0, sizeof(a));
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(i = 0; i < n; i++)
{
for(j = i + 1; j < n; j++)
if(a[i] > a[j]) flag++;
}
min = flag;
for(i = 0; i < n; i++)
{
flag = flag + n - (a[i] + 1) - a[i];
if(min > flag) min = flag;
}
printf("%d\n", min);
#include<string.h>
int main()
{
int n, a[5000], i, j, min, flag;
while(~scanf("%d", &n))
{
flag = 0;
memset(a, 0, sizeof(a));
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(i = 0; i < n; i++)
{
for(j = i + 1; j < n; j++)
if(a[i] > a[j]) flag++;
}
min = flag;
for(i = 0; i < n; i++)
{
flag = flag + n - (a[i] + 1) - a[i];
if(min > flag) min = flag;
}
printf("%d\n", min);
}
return 0;
}
return 0;
}
0 0
- 上学期学长期末题目
- 上学期学长期末题目
- 五年级上学期学生期末评语
- 累啊 大2上学期末
- 2007上学期课程表
- 大一上学期过去了
- 大三上学期杂谈
- 上学期总结
- 大三上学期总结
- 大二上学期计划
- 大一上学期
- 大三上学期总结
- 2014上学期总结
- 大一上学期
- 大二上学期复习计划
- 大二上学期感想
- 课程设计上学期总结
- 大三上学期计划
- org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
- mysql sql长度限制解决
- 级联训练器训练生成.xml文件后,检测
- 自学-Shiro的权限管理-12
- 反射机制
- 上学期学长期末题目
- boa 用shell脚本编写cgi 访问时终端出现cgi_header: unable to find LFLF
- Android 运行时权限 Runtime Permissions
- 出现PNG文件错误的解决方案AAPT err(Facade for 1773557322): libpng error: Not a PNG file
- 日志输出框架Log4j使用
- js小记
- android Constant
- [Java并发包学习八]深度剖析ConcurrentHashMap
- Mybatis学习之路--类别名&数据源&事务管理器&映射器