【Ah20160703】咏叹 By C_SUNSHINE
咏叹 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的更多相关文章
- 【Foreign】咏叹 [模拟退火]
咏叹 Time Limit: 100 Sec Memory Limit: 256 MB Description 有n根木棍,第i根长度为ai.你要贴着墙围出一个矩形区域,木棍围成的矩形边缘必须平行或 ...
- 10月wish me luck
10/13 明天开始的三天 就要跟历史地理化学说拜拜了 以诚待之 好运 10/20 P三角形计数:一看就是叉积.因为去年迪子讲过.但是我已经忘记了.所以重新写了一遍.把所有的点有序化,将三角形面积转化 ...
- 洛谷P1783 海滩防御 分析+题解代码
洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ...
- may be a diary?
[About Me] SD某弱校高二的OIer. qq 995681518,欢迎一起交流~ 喵喵喵喵喵 "当你想要颓废的那一刻,想一想当初为什么走到了这里." 以下文字充满负面情绪 ...
- 骗访问量的机房人物列传by xMinh
作者:$xMinh$ 人物列传·Refun(Aufun,虚凡,人赢) 机房最人赢的人赢,上过表白墙的男人 在宿舍公然开设情感讲座和人赢培训班,教学成果显著,他的徒弟要么gay了要么凉了 认识的人极其广 ...
- bzoj4693: 雪中送温暖
Description 每年的1月10日是温暖节,在这一天,化身出题人的C_SUNSHINE将会给OIer们送温暖.OIer们只要在门口放上一个 仙人掌,就能在早上的某个时刻听到门外传来一声:“开门, ...
- 洛谷 P1783 海滩防御 解题报告
P1783 海滩防御 题目描述 WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和仓库总是被敌方派人偷袭 ...
- [P1768]天路(分数规划+SPFA判负环)
题目描述 “那是一条神奇的天路诶~,把第一个神犇送上天堂~”,XDM先生唱着这首“亲切”的歌曲,一道猥琐题目的灵感在脑中出现了. 和C_SUNSHINE大神商量后,这道猥琐的题目终于出现在本次试题上了 ...
- bzoj 4695 最假女选手 吉利线段树
最假女选手 Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 480 Solved: 118[Submit][Status][Discuss] Desc ...
随机推荐
- 【python】numpy array特殊数据统一处理
array中的某些数据坏掉,想要统一处理,找到了这个方法,做个笔记. 比如,把数组中所有小于0的数字置为0 import numpy as np t = np.array([-2, -1, 0, 1, ...
- 安装Sql server 2008时出现sql server 2005 express tools failed 怎么办?
提示错误:Sql2005SsmsExpressFacet 检查是否安装了 SQL Server 2005 Express 工具. 失败,已安装 SQL Server 2005 Express 工具.若 ...
- POJ1528问题解答
#include <iostream>#include <cstdio>#include <cmath> #include <string>#inclu ...
- error LNK2005 int __cdecl 解决方案【转】
error LNK2005: "int __cdecl isPtInPolygon(class std::vector<struct double2,class std::alloca ...
- android handler调用post方法阻塞
1.试下用postDelayed(Runnable a, int time),因为post把消息放到Looper中就返回,但Looper中没有其他消息又会被立刻取出来执行,这样就有可能做了run中的操 ...
- AngularJs赋值问题
$scope.showUpgradeForm = function(item){ $scope.upgrade = item; $scope.upgrade.vercode++; // 其它操作 } ...
- UIlabel多行文字自动换行 (自动折行)
UIView *footerView = [[UIView alloc]initWithFrame:CGRectMake(, , , )]; UILabel *label = [[UILabel al ...
- python_字符串
1. 字符串的格式化 格式: 说明: (1)转换说明符 (2)格式化操作符右操作数可以是任何东西,如果是元组的话,每一个元素都会被单独格式化. 2. 字符串常用的方法 (1)find int = fi ...
- ARC机制下组合关系
// // Person.h // 01-autorelease基本概念 // // Created by apple on 14-3-18. // Copyright (c) 2014年 a ...
- Unable to get setting value Parameter name: profileName
Today when I am building my application, everything works well but when I try to run Azure Worker Ro ...