题目传送门: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. Linux ldconfig命令

    一.简介 ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig. ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/u ...

  2. Linux 模块管理

    查看模块信息 modinfo module-name 加载模块 insmod module-name 卸载模块 rmmod module-name 生成模块依赖 cd /lib/module/`una ...

  3. Problem B. Market(market.c/cpp/pas)

    Problem B. Market(market.c/cpp/pas)Time limit: 1 secondsMemory limit: 128 megabytes在比特镇一共有 n 家商店,编号依 ...

  4. send发送一次buffer

    发送的字符串后面添加:\r\n 结束标志 否则发送1024或者程序接收默认的字节数 #include <stdio.h> #include <stdlib.h> #includ ...

  5. Netty 源码 NioEventLoop(一)初始化

    Netty 源码 NioEventLoop(一)初始化 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Netty 基于事件 ...

  6. 类里面的非static const成员

    类里面的成员变量可以用const修饰,在只用const不用static修饰的情况下,这种使用的限制比较多 (1)不能定义处初始化,必须在类的构造函数初始化列表里面初始化(虽然在vs中,可以在定义处初始 ...

  7. 有趣的NaN类型

    在学习Java集合的时候遇到了Float.isNaN(float)函数,点进去一看就不理解了,函数实现如下: public static boolean isNaN(float v) { return ...

  8. Git 同步远程仓库

    在你经常使用的命令当中有一个git branch –a 用来查看所有的分支,包括本地和远程的.但是时间长了你会发现有些分支在远程其实早就被删除了,但是在你本地依然可以看见这些被删除的分支. 同步远程分 ...

  9. 从问题域看hadoop的各种技术

    近些年来Hadoop生态系统发展迅猛,它本身包含的软件越来越多,同时带动了周边系统的繁荣发展.尤其是在分布式计算这一领域,系统繁多纷杂,时不时冒出一个系统,号称自己比MapReduce或者Hive高效 ...

  10. linux 通过md5查找重复文件

    代码如下: md5sum *|sort |uniq -w32 -D|awk -F ' ' '{print $2}' uniq 部分参数 -c #在每行前显示该行重复次数. -d #只输出重复的行. - ...