Minimum Possible LCM
https://codeforces.com/contest/1154/problem/G
题意:给定数组,求其中lcm(a,b)的最小的a和b的位置。
题解:枚举GCD
/*
*@Author: STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=10000000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
ll ans[2],cnt,flag,temp,sum;
int vis[N];
char str;
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d",&n);ll maxl=1e18;for(int i=1;i<=n;i++){scanf("%d",&m);if(vis[m]){ll tempmax=m;if(tempmax<maxl){maxl=tempmax;ans[0]=vis[m];ans[1]=i;}}vis[m]=i;}for(int i=1;i<N;i++){sum=0;temp=0;for(int j=i;j<N;j+=i){if(vis[j])sum++;elsecontinue;if(sum&&!temp)temp=j;if(sum>=2){ll tempmax=temp/i*j;//cout<<temp<<j<<endl;if(tempmax<maxl){maxl=tempmax;ans[0]=vis[temp];ans[1]=vis[j];}break;}}}if(ans[0]>ans[1])swap(ans[0],ans[1]);cout<<ans[0]<<" "<<ans[1]<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}
Minimum Possible LCM相关推荐
- Minimum Sum LCM(uva10791+和最小的LCM+推理)
L - Minimum Sum LCM Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submi ...
- 28行代码AC——Minimum Sum LCM UVA - 10791(最大质因子)
励志用尽量少的代码做高效表达 题目(提交)链接-->UVA - 10791 题意 输入正整数n,找至少两个数,使得他们的最小公倍数(Least Common Multiple)为n且要输出最小的 ...
- UVA10791 Minimum Sum LCM(数论)
<span style="font-family:FangSong_GB2312;font-size:18px;">/* Sample Input 12 10 5 0 ...
- UVa 10791 Minimum Sum LCM
分析一波发现,将原数尽可能地分解成"质数的k次方"的和,会使得答案最大而数字和最小 于是就可以愉快地质因数分解了. 注意判断若n是质数,答案为n+1. 1 /**/ 2 #incl ...
- cf552 G Minimum Possible LCMn个数,求最小得一对lcm
You are given an array a consisting of n integers a1,a2,-,an Your problem is to find such pair of in ...
- 训练指南第二章-基础问题
训练指南第二章-基础问题 P170 2 / 4 Problem A UVA 10943 How do you add? 1 / 2 Problem B UVA 10780 Again Prime? N ...
- 《算法入门经典大赛——培训指南》第二章考试
UVa特别考试 UVa站点专门为本书设立的分类题库配合,方便读者提交: http://uva.onlinejudge.org/index.php?option=com_onlinejudge& ...
- 训练指南——数学专题一的总结
差不多一个星期过去了,在这一个多星期里,我做了一个数学专题和两场训练赛,要说对自己的感觉,只能说很差劲,开始的时候以为环境会比现在宽松很多,后来才发现想法是错误的,实验室室里室一种紧张的气氛,感觉就像 ...
- AOAPC I: Beginning Algorithm Contests 题解
AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...
最新文章
- 程序员下班回家,路上被拦......
- RocEDU.课程设计2018 第二周进展 博客补交
- Laravel5.4重新登陆跳转到登陆前页面的原理和实现
- git通过gitosis来管理权限(三)
- CROSS APPLY 和outer apply
- 使用 Boost.MPI 的骨架和内容进行优化的示例
- 小bat大装逼(▼へ▼メ)
- java笔记(3):String(2)
- Redis命令总结及其基础知识讲述
- android用户登录volley,如何在Android上使用Volley进行基本身份验证?
- (计算机组成原理)第三章存储系统-第六节2:Cache和主存的映射方式(全相联映射、直接映射和组相连映射)
- 大动作!华为海思注册资本从6亿增加到20亿
- android view选中状态,RecyclerView选中
- Java httpClient 发送http请求
- Redis 五大数据类型的基本命令使用
- 谷歌开源缓存框架Guava Cache
- part-15 开环增益Avol
- Attack State Slight Movement(攻击状态)
- 前端面试——安全相关
- 倍增设计技术(指针跳跃技术)——表序问题——求森林的根
热门文章
- flask html下拉列表,如何使用Flask和HTML从python列表创建下拉菜单
- php需要什么技能,成为一个好的PHP工程师需要掌握什么技能
- 解决MyBatis的报错 There is no getter for property named ‘*‘ in ‘class java.lang.String‘
- java动态语言_java动态类型语言支持(三)
- della计算机驱动检测,nexus6安装BPTOOLS中的diag驱动图文教程
- oracle经典博客,Oracle启动步骤【经典博客】
- linux无法打开共享对象文件或目录,linux - libmodbus.so.5:无法打开共享对象文件:没有这样的文件或目录 - 堆栈内存溢出...
- 那年大一在图书馆作死的大学高数笔记 | 函数和极限
- GAN处理手写图片数据集
- sscanf取固定长度的int_翠屏摇臂式取水泵船长沙水泵厂专业设计中大泵业