题目传送门: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下常用文件操作命令

    1.find命令 按内容查找文件 find /home/vpopmail/domains/best-21ixi.jp/bounce/Maildir/new/ -name "*" | ...

  2. loadrunner--TPS和平均事务响应时间

    TPS就是每秒事务数,但是事务是基于虚拟用户数的,假如1个虚拟用户在1秒内完成1笔事务,那么TPS明显就是1:如果 某笔业务响应时间是1ms,那么1个用户在1秒内能完成1000笔事务,TPS就是100 ...

  3. shiro 实现 用户 a 操作b 的权限 ,用户 b 能够及时获知。b不需要退出登陆 。 关闭鉴权缓存,或者不配置缓存

    <bean id="myRealm" class="com.diancai.util.MyRealm"> <property name=&qu ...

  4. jQuery nyroModal 插件遇到问题

    nyroModal ver 1.6.2 弹出层插件 浏览更多   初始化大小问题 //页面加载完成后初始化 设置大小 $(function() { $.nyroModalSettings({ widt ...

  5. NSNotificationCenter 注意

    成对出现 意思很简单,NSNotificationCenter消息的接受线程是基于发送消息的线程的.也就是同步的,因此,有时候,你发送的消息可能不在主线程,而大家都知道操作UI必须在主线程,不然会出现 ...

  6. js中为什么非要alert一下下一步才会执行

    多数原因为界面ajax中动态添加的元素还没被添加上,就执行了js函数(js函数要调用动态元素),解决办法:ajax方法中添加 async:false,同步,作用为,在ajax执行完毕后才执行之后的js ...

  7. 2018.06.29 洛谷P1505 [国家集训队]旅游(树链剖分)

    旅游 题目描述 Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有 ...

  8. shell中$(( ))、$( )与${ }的区别

    转载自:http://blog.sina.com.cn/s/blog_4da051a60102uwda.html 命令替换 在bash中,$( )与` `(反引号)都是用来作命令替换的. 命令替换与变 ...

  9. Oracle EBS标准错误信息如何追踪 (Debug)

    http://www.cnblogs.com/songdavid/articles/2067534.html 调用EBS标准API的时候,可能会返回一些让人看不懂的错误,比如最近我在开发rcv_tra ...

  10. EBS _ALL, _TL, _VL, _V,_F,_VL,_A,_AVN and what else

    http://hi.baidu.com/einsteinalbert/item/54579250efc637abadc85705 _ALL, _TL, _VL, _V,_F,_VL,_A,_AVN a ...