题目传送门:https://www.nowcoder.com/acm/contest/144/J

题意:给一个function,构造n个数,求出其中任意两个的lcm的最大值。

分析:要求最大的lcm,大概分析一下,差不多就在里面的最大的k个里,k^2求出答案。

因为n(1e7),sort会tle,需要一个效率更低的排序来求出前k大。

 #include<bits/stdc++.h>
using namespace std;
const int maxn=1e7+;
typedef unsigned ui;
typedef unsigned long long ull;
ui x,y,z;
ui A,B,C;
ui a[maxn],b[maxn];
int n;
ui tang(){
ui t;
x^=x<<;
x^=x>>;
x^=x<<;
t=x;x=y;y=z;z=t^x^y;
return z;
}
ull gcd(ull x,ull y){
if (y==) return x;
else return gcd(y,x%y);
}
void _sort(int k,int l,int r){
ui kk=a[(l+r)/];
int i=l,j=r;
while (i<j){
while (a[j]>kk) j--;
while (a[i]<kk) i++;
if (i<=j){
swap(a[i],a[j]);
i++;j--;
}
}
if (r-i+==k) return ;
else if (r-i+>k) _sort(k,i+,r);
else _sort(k-(r-i+),l,i-);
}
int main(){
ios::sync_with_stdio(false);
cin.tie();cout.tie();
int t;
cin >> t;
for (int id=;id<=t;id++){
cin >> n >> A >> B >> C;
x=A;y=B;z=C;
for (int i=;i<n;i++){
a[i]=tang();
}
ull ans=;
int k=min(n,);
_sort(k,,n-);
int cnt=;
for (int i=n-;i>=n-k;i--)
b[cnt++]=a[i];
for (int i=;i<cnt;i++){
for (int j=i+;j<cnt;j++){
ull _gcd;
if (b[i]>b[j]) _gcd=gcd(b[i],b[j]);
else _gcd=gcd(b[j],b[i]);
ans=max(ans,b[i]/_gcd*b[j]);
}
}
cout << "Case #" << id << ": " << ans << endl;
}
return ;
}

牛客第六场 J.Heritage of skywalkert(On求前k大)的更多相关文章

  1. 牛客多校第六场 J Heritage of skywalkert 随即互质概率 nth_element(求最大多少项模板)

    链接:https://www.nowcoder.com/acm/contest/144/J来源:牛客网 skywalkert, the new legend of Beihang University ...

  2. 牛客2018多校第六场 J Heritage of skywalkert - nth_element

    传送门 题意:提供一个随机生成函数,让你生成n个数,然后问你其中能找到的两个数的最小公倍数 最大 是多少. 思路:可以用nth_element()函数在O(n)下求出前 15 个大的数(当然,100个 ...

  3. HDU 6041 I Curse Myself(点双联通加集合合并求前K大) 2017多校第一场

    题意: 给出一个仙人掌图,然后求他的前K小生成树. 思路: 先给出官方题解 由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉.所以问题就变为有 M 个集合,每个集合里面都有一堆 ...

  4. (第六场)Heritage of skywalkert 【玄学】

    题目链接:https://www.nowcoder.com/acm/contest/144/J 标题:J.Heritage of skywalkert | 时间限制:1 秒 | 内存限制:256M s ...

  5. 牛客第三场 J LRU management

    起初看到这道题的时候,草草就放过去了,开了另一道题,结果开题不顺利,总是感觉差一点就可以做出来,以至于一直到最后都没能看这道题qaq 题意:类似于操作系统上讲的LRU算法,有两个操作,0操作代表访问其 ...

  6. 牛客竞赛第二场D Kth Minimum Clique 贪心+bitmap

    Kth Minimum Clique 题意 给出n(n<100)个点的邻接表,和n个点的权值,求第k大的团(完全子图) 分析 n很小,并且好像没有什么算法和这个有关系,所以可以往暴力枚举的方向想 ...

  7. 牛客第五场多校 J plan 思维

    链接:https://www.nowcoder.com/acm/contest/143/J来源:牛客网 There are n students going to travel. And hotel ...

  8. 牛客网第二场Jfarm(随机化+二维前缀和)

    链接:https://www.nowcoder.com/acm/contest/140/J 来源:牛客网 White Rabbit has a rectangular farmland of n*m. ...

  9. 牛客网第一场E题 Removal

    链接:https://www.nowcoder.com/acm/contest/139/E 来源:牛客网 Bobo has a sequence of integers s1, s2, ..., sn ...

随机推荐

  1. DNA甲基化研究概述

    DNA甲基化研究概述 生信技能树 已关注 2018.01.23 11:43 字数 993 阅读 183评论 0喜欢 1 DNA甲基化(DNA methylation)是最早被研究的重要表观遗传修饰之一 ...

  2. C#的一些方法读程序转c++

    1.Array.Copypublic static void Copy( Array sourceArray, int sourceIndex, Array destinationArray, int ...

  3. 04 Maven 仓库

    Maven 仓库 在 Maven 坐标与依赖 中详细介绍了 Maven 坐标和依赖,坐标和依赖是任何一个构件在 Maven 世界中的逻辑表示方式:而构件的物理表示方式是文件, Maven 通过仓库来统 ...

  4. 【Linux】Memcached安装

    Memcached概念 Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中, ...

  5. 《Delphi XE6 android 编程入门教程》推荐

    近5.6年已经没有看见关于delphi的新技术的书出来了(看来在国内delphi的使用量确实很低了), 高勇同学最近出了一本<Delphi XE6 android 编程入门教程>,上周刚拿 ...

  6. 2018.10.12 NOIP训练 01 串(倍增+hash)

    传送门 一道挺不错的倍增. 其实就是处理出每个数连向的下一个数. 由于每个点只会出去一条边,所以倍增就可以了. 开始和zxyzxyzxy口胡了一波O(n+m)O(n+m)O(n+m)假算法,后来发现如 ...

  7. Django模型层(1)

    https://www.cnblogs.com/yuanchenqi/articles/8933283.html MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦, ...

  8. mysql date_sub用法

    查询一天: select * from table where to_days(column_time) = to_days(now()); select * from table where dat ...

  9. The serializable class XXX does not declare a static final serialVersionUID field of type long

    问题: 在Eclipse中,继承类时,总是提示下面的警告(Warning),按理说警告是没有关系的,但是程序看起来老不爽了,这是强迫症的关系(呵呵) The serializable class XX ...

  10. Object-C中 - self 和super 的含义

    //super:父类         //self:自己              //自己理解         //以MobilePhone为例,父类为NSObject         //在类方法 ...