【gcd+stl】UVa1642 Magical GCD
Description
一个长度为n的数列,选一个连续子序列,使得子序列的公约数*长度最大,求这个最大值。n<=1e5。
Solution
连续子序列一般都要用滑动窗口是吧(固定r,快速计算最优l,从r转移到r+1时无需重新计算l信息)
对于一个r,l递减时gcd也一定递减或不变,所以gcd最多有log(a[i])种不同取值
那么对于每一个相同的gcd,显然只需要保存最小的l
转移也很方便,反正最多log种元素,直接每一个暴力转移,有删除、添加、更新操作,用map来水再好不过了。
大白例题。
Code
不太会map...现在才知道first&second...膜了一发别人的代码...
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<map>
#define ll long long
using namespace std; map<ll,ll>a;
ll n,x,ans; ll gcd(ll x,ll y){return y==?x:gcd(y,x%y);} int main(){
int T;
scanf("%d",&T);
while(T--){
scanf("%lld",&n);
a.clear();
ans=;
for(int i=;i<=n;i++){
scanf("%lld",&x);
if(!a.count(x)) a[x]=i;
for(map<ll,ll>::iterator it=a.begin();it!=a.end();){
ll tmp=gcd(x,it->first);
ans=max(ans,tmp*(i-it->second+));
if(!a.count(tmp))
a[tmp]=it->second;
else
a[tmp]=min(a[tmp],it->second);
if(tmp<it->first)
a.erase(it++);
else it++;
}
}
printf("%lld\n",ans);
}
return ;
}
【gcd+stl】UVa1642 Magical GCD的更多相关文章
- 【BZOJ4052】[Cerc2013]Magical GCD 乱搞
[BZOJ4052][Cerc2013]Magical GCD Description 给出一个长度在 100 000 以内的正整数序列,大小不超过 10^12. 求一个连续子序列,使得在所有的连续 ...
- CSP 201612-3 权限查询 【模拟+STL】
201612-3 试题名称: 权限查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权 ...
- 【莫比乌斯反演】BZOJ2920-YY的GCD
[题目大意] 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对. [思路] 太神了这道题……蒟蒻只能放放题解:戳,明早再过来看看 ...
- 【codeforces 798C】Mike and gcd problem
[题目链接]:http://codeforces.com/contest/798/problem/C [题意] 给你n个数字; 要求你进行若干次操作; 每次操作对第i和第i+1个位置的数字进行; 将 ...
- 【bzoj4052】[Cerc2013]Magical GCD 暴力
题目描述 给出一个长度在 100 000 以内的正整数序列,大小不超过 10^12. 求一个连续子序列,使得在所有的连续子序列中,它们的GCD值乘以它们的长度最大. 样例输入 1 5 30 60 2 ...
- 【BZOJ 2820】 YY的GCD (莫比乌斯+分块)
YY的GCD Description 神犇YY虐完数论后给傻×kAc出了一题 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少 ...
- 【刷题】HDU 1695 GCD
Problem Description Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD( ...
- 【Luogu P2257】YY 的 GCD
题目 求: \[ \sum_{i = 1}^n \sum_{j = 1}^m [\gcd(i, j) \in \mathbb P] \] 有 \(T\) 组数据, \(T\le 10^4, n, m\ ...
- 【BZOJ 2820】YY的GCD
线性筛积性函数$g(x)$,具体看Yveh的题解: http://sr16.com:8081/%e3%80%90bzoj2820%e3%80%91yy%e7%9a%84gcd/ #include< ...
随机推荐
- javascript随机一个1-9的数字
window.onload=function(){ var oTxt=document.getElementById('txt'); for(i=1;i<=200;i ...
- 有关Java 锁原理
锁 锁是用来锁东西的,让别人打不开也看不到!在线程中,用这个“锁”隐喻来说明一个线程在“操作”一个目标(如一个变量)的时候,如果变量是被锁住的,那么其他线程就对这个目标既“操作”不了(挂起)也无法看到 ...
- Java——接口
被interface修饰的类,叫接口接口里的方法都是抽象的,不能实现.用implements关键字可以让一个类来实现该接口.接口:一个类在继承另一个类的同时.还可以实现多个接口.接口的出现避免了单继承 ...
- Swift内部类调用外部类方法、属性的变通
Swift的内部类比较鸡肋,在内部类里面不能调用外部类的属性或方法,那么如何解决这个问题,把内部类里面调用外部类的那部分代码方法移动到外部类里面,成为外部类的方法,是一种变通解决方式.
- Django ValidationError中的单下划线
用惯pycharm,结果这个下划线无法自动找到.后来看文档发现其是翻译gettext的简化格式,import方式: from django.utils.translation import ugett ...
- Ocelot中文文档-日志
目前,Ocelot使用标准的日志记录接口ILoggerFactory/ILogger . 在IOcelotLogger / IOcelotLoggerFactory中提供了标准的asp.net cor ...
- 解决Select标签的Option在IE浏览中display:none不生效的问题
页面的Select标签,需要控制Select的Option不需要显示,根据条件来隐藏某些Option选项. 正常情况下使用hide()就能实现,hide()方法实际是给Option加上display属 ...
- JWT实现用户权限认证
网上的java基础教程曾教会我们,将用户登录信息存在session(服务器端)中,需要验证的时候拿出来作对比以达到身份 验证的效果.但这种方式暴露的问题也是可想而知的: 1.Seesion:每次认证用 ...
- ZeroMQ 教程 002 : 高级技巧
本文主要译自 zguide - chapter two. 但并不是照本翻译. 上一章我们简单的介绍了一个ZMQ, 并给出了三个套路的例子: 请求-回应, 订阅-发布, 流水线(分治). 这一章, 我们 ...
- Nginx负载均衡和反向代理
1:反向代理 代理就是中介,那有反向代理就有正向代理,两者的区别是什么嘞? 正向代理隐藏真实客户端,服务端不知道实际发起请求的客户端.,proxy和client同属一个LAN,对server透明: 反 ...