咏叹 By C_SUNSHINE

【试题描述】

Salroey拿到了一个1~n的排列A,她想对这个排列进行冒泡排序:

counter=0

While A不是升序的

counter=counter+1

For i=1 to n-1

If A[i]>A[i+1]

Then Swap(A[i],A[i+1])

End If

End For

End While

现在Salroey想知道,冒泡排序几轮之后,A数组会变得有序呢(即counter变量的值)?

【输入要求】

输入五个整数n,S,B,C,D,n表示数组的长度,用以下方式生成数据:
For i=1 to n
    A[i]=i S=(S*B+C) mod D
    Swap(A[i],A[(S mod i)+1])
End For

【输出要求】

一行一个正整数,表示冒泡排序进行的轮数。

【输入实例】

4 5 7 9 13

  

【输出实例】

2

【其他说明】

对于30%的数据,1 <= n <= 1000
对于50%的数据,1 <= n <= 10^5
对于70%的数据,1 <= n <= 10^6
对于100%的数据,1 <= n <= 3 * 10^7; 0 <= S, B, C < D <= 10^9 + 7

【试题分析】

这道题实在是太6了,这是我们学校的大神去安徽时出的一道数学神题,本来想用归并yy的,但是发现貌似归并只能解决次数,不太好解决轮数。其实正解只有400±B,数据的生成方式是不是非常特别?如果生成数据时没有下面两条语句的话,那么数列就本身是一个符合要求的升序数列。什么才是关键点?swap函数,它交换了两个值,所以我们在求的时候只需要求它现在的下标减去它本身,每次求一个max就可以了。

【代码】

#include<iostream>
using namespace std;
int a[30000001],ans;
int main()
{
long long n,s,b,c,d;//要设置为long long
scanf("%lld%lld%lld%lld%lld",&n,&s,&b,&c,&d);
for(int i=1;i<=n;i++)
{
a[i]=i;
s=((long long)s*b+c)%d;
swap(a[i],a[(s%i)+1]);
}
for(int i=1;i<=n;i++) ans=max(ans,i-a[i]);
cout<<ans;
}

  

【Ah20160703】咏叹 By C_SUNSHINE的更多相关文章

  1. 【Foreign】咏叹 [模拟退火]

    咏叹 Time Limit: 100 Sec  Memory Limit: 256 MB Description 有n根木棍,第i根长度为ai.你要贴着墙围出一个矩形区域,木棍围成的矩形边缘必须平行或 ...

  2. 10月wish me luck

    10/13 明天开始的三天 就要跟历史地理化学说拜拜了 以诚待之 好运 10/20 P三角形计数:一看就是叉积.因为去年迪子讲过.但是我已经忘记了.所以重新写了一遍.把所有的点有序化,将三角形面积转化 ...

  3. 洛谷P1783 海滩防御 分析+题解代码

    洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ...

  4. may be a diary?

    [About Me] SD某弱校高二的OIer. qq 995681518,欢迎一起交流~ 喵喵喵喵喵 "当你想要颓废的那一刻,想一想当初为什么走到了这里." 以下文字充满负面情绪 ...

  5. 骗访问量的机房人物列传by xMinh

    作者:$xMinh$ 人物列传·Refun(Aufun,虚凡,人赢) 机房最人赢的人赢,上过表白墙的男人 在宿舍公然开设情感讲座和人赢培训班,教学成果显著,他的徒弟要么gay了要么凉了 认识的人极其广 ...

  6. bzoj4693: 雪中送温暖

    Description 每年的1月10日是温暖节,在这一天,化身出题人的C_SUNSHINE将会给OIer们送温暖.OIer们只要在门口放上一个 仙人掌,就能在早上的某个时刻听到门外传来一声:“开门, ...

  7. 洛谷 P1783 海滩防御 解题报告

    P1783 海滩防御 题目描述 WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和仓库总是被敌方派人偷袭 ...

  8. [P1768]天路(分数规划+SPFA判负环)

    题目描述 “那是一条神奇的天路诶~,把第一个神犇送上天堂~”,XDM先生唱着这首“亲切”的歌曲,一道猥琐题目的灵感在脑中出现了. 和C_SUNSHINE大神商量后,这道猥琐的题目终于出现在本次试题上了 ...

  9. bzoj 4695 最假女选手 吉利线段树

    最假女选手 Time Limit: 50 Sec  Memory Limit: 128 MBSubmit: 480  Solved: 118[Submit][Status][Discuss] Desc ...

随机推荐

  1. http://blog.csdn.net/jiyiqinlovexx/article/details/38326865

    http://blog.csdn.net/jiyiqinlovexx/article/details/38326865

  2. iOS ASIHTTPRequest 请求https

    iOS 终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略 ...

  3. POJ 1035问题解答

    #include <iostream>#include <cstdio>#include <cmath> #include <string>#inclu ...

  4. linux下如何启动/停止/重启mysql:

    一.启动方式1.使用linux命令service 启动:service mysqld start2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start3.使用 safe_ ...

  5. Java集合 List,Set,Map

      一.List:.有顺序以线性方式存储,可以存放重复对象 线程安全方法:List list = Collections.synchronizedList(new LinkedList(...)); ...

  6. windows下使用pthreads

    pthread-win32在Windows上实现了线程相关的Posix标准,接口一模一样 包含: thread mutex cond swlock spin sem barrier https://s ...

  7. maven 无法安装plugin的问题

    spring有一个入门例子,在docker里跑spring-boot程序 下载后按照教程执行mvn package docker:build.并不能成功.会报错. [ERROR] No plugin ...

  8. iphone尺寸设计

    http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions http://daily.zhihu.com/story/4 ...

  9. swap文件

    # dd if=/dev/zero of=/tmp/myswap bs=1M count=4096 # mkswap /tmp/myswap # swapon /tmp/myswap # vim /e ...

  10. C# 统计程序执行时间

    随便写写,小马哥勿怪 最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷.     话说马云年轻的时候也是屌丝一枚,有图为证 现 ...