牛客第六场 J.Heritage of skywalkert(On求前k大)
题目传送门: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大)的更多相关文章
- 牛客多校第六场 J Heritage of skywalkert 随即互质概率 nth_element(求最大多少项模板)
链接:https://www.nowcoder.com/acm/contest/144/J来源:牛客网 skywalkert, the new legend of Beihang University ...
- 牛客2018多校第六场 J Heritage of skywalkert - nth_element
传送门 题意:提供一个随机生成函数,让你生成n个数,然后问你其中能找到的两个数的最小公倍数 最大 是多少. 思路:可以用nth_element()函数在O(n)下求出前 15 个大的数(当然,100个 ...
- HDU 6041 I Curse Myself(点双联通加集合合并求前K大) 2017多校第一场
题意: 给出一个仙人掌图,然后求他的前K小生成树. 思路: 先给出官方题解 由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉.所以问题就变为有 M 个集合,每个集合里面都有一堆 ...
- (第六场)Heritage of skywalkert 【玄学】
题目链接:https://www.nowcoder.com/acm/contest/144/J 标题:J.Heritage of skywalkert | 时间限制:1 秒 | 内存限制:256M s ...
- 牛客第三场 J LRU management
起初看到这道题的时候,草草就放过去了,开了另一道题,结果开题不顺利,总是感觉差一点就可以做出来,以至于一直到最后都没能看这道题qaq 题意:类似于操作系统上讲的LRU算法,有两个操作,0操作代表访问其 ...
- 牛客竞赛第二场D Kth Minimum Clique 贪心+bitmap
Kth Minimum Clique 题意 给出n(n<100)个点的邻接表,和n个点的权值,求第k大的团(完全子图) 分析 n很小,并且好像没有什么算法和这个有关系,所以可以往暴力枚举的方向想 ...
- 牛客第五场多校 J plan 思维
链接:https://www.nowcoder.com/acm/contest/143/J来源:牛客网 There are n students going to travel. And hotel ...
- 牛客网第二场Jfarm(随机化+二维前缀和)
链接:https://www.nowcoder.com/acm/contest/140/J 来源:牛客网 White Rabbit has a rectangular farmland of n*m. ...
- 牛客网第一场E题 Removal
链接:https://www.nowcoder.com/acm/contest/139/E 来源:牛客网 Bobo has a sequence of integers s1, s2, ..., sn ...
随机推荐
- code4906 删数问题
题目: 键盘输入一个高精度的正整数n(<=240位), 去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数. 编程对给定的n和s,寻找一种方案,使得剩下的数最小. Simple Inp ...
- Vue.js (Frontend & Backend)尝试前后端分离
前言 前端用什么框架都可以,这里选择小巧的vuejs. 要实现的功能很简单:1.登录功能,成功将服务器返回的token存在本地2.使用带token的header访问服务器的一个资源 本次实验环境: & ...
- css长度
在CSS样式表中,长度单位分两种: 相对长度单位,如px, em等绝对长度单位,如pt,mm等 CSS相对长度单位(relative length unit) CSS相对长度单位中的相对二字,表明了其 ...
- Mybatis传值为空需要配置JdbcType来解决吗?(XML文件不需要配置JdbcType)
1,解决思路,配置自定义的语言驱动,重写自己的Paramethander package cn.com.servyou.gxdqy.tool.xmlhelper; import org.apache. ...
- input不能输入中文
<input type="text" oninput="this.value = this.value.replace(/[\u4e00-\u9fa5d]/g, ' ...
- 何时开始phonics学习及配套阅读训练zz
引子:自从11月份俱乐部第一批孩子开始英文阅读,到现在三.四个月的时间过去了.很多孩子从不知道怎么读绘本甚至排斥英语,到现在能很投入地看原版书, 有些甚至主动地去寻找拼读规律.我家小宝目前也从前期的阅 ...
- 30. Child Labor Problem and Its Solution 童工问题及解决方法
30. Child Labor Problem and Its Solution 童工问题及解决方法 ① Over a hundred years ago,Charles Dickens shocke ...
- struts2 action 中autowired 不能注入
一.pom.xml <dependency> <groupId>org.apache.struts</groupId> <artifactId>stru ...
- java基础-day3
第03天 java基础知识 今日内容介绍 u 选择流程控制语句 u 循环流程控制语句 u 控制循环语句 第1章 选择流程控制语句 1.1 顺序结构的基本使用 1.1.1 顺序结构概述 是程序中最 ...
- hdu 4993
http://acm.hdu.edu.cn/showproblem.php?pid=4993 满足ax + by = c的x,y对数 水题,暴力 #include <cstdio> #in ...