当前位置: 首页 > news >正文

找别人做网站需要注意什么整站优化价格

找别人做网站需要注意什么,整站优化价格,济南三合一网站建设,崇明建设镇政府门户网站目录1.近似GCD1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.Ac_code1.C2.Python1.近似GCD 1.题目描述 小蓝有一个长度为 nnn 的数组 A(a1,a2,⋯,an)A\left(a_{1}, a_{2}, \cdots, a_{n}\right)A(a1​,a2​,⋯,an​), 数组的子数组被定…

目录

  • 1.近似GCD
    • 1.题目描述
    • 2.输入格式
    • 3.输出格式
    • 4.样例输入
    • 5.样例输出
    • 6.数据范围
    • 7.原题链接
  • 2.解题思路
  • 3.Ac_code
    • 1.C++
    • 2.Python

1.近似GCD

1.题目描述

小蓝有一个长度为 nnn 的数组 A=(a1,a2,⋯,an)A=\left(a_{1}, a_{2}, \cdots, a_{n}\right)A=(a1,a2,,an), 数组的子数组被定义为从 原数组中选出连续的一个或多个元素组成的数组。数组的最大公约数指的是数 组中所有元素的最大公约数。如果最多更改数组中的一个元素之后, 数组的最 大公约数为 ggg, 那么称 ggg 为这个数组的近似 GCD。一个数组的近似 GCD 可能 有多种取值。

具体的, 判断 ggg 是否为一个子数组的近似 GCD 如下:

如果这个子数组的最大公约数就是 ggg, 那么说明 ggg 是其近似 GCD。

在修改这个子数组中的一个元素之后 (可以改成想要的任何值), 子数 组的最大公约数为 ggg, 那么说明 ggg 是这个子数组的近似 GCD。

小蓝想知道, 数组 A​A​A 有多少个长度大于等于 2 的子数组满足近似 GCD 的值为g​g​g.

2.输入格式

输入的第一行包含两个整数 n,gn,gn,g,用一个空格分隔,分别表示数组 AAA 的长度和 ggg 的值。
第二行包含 nnn 个正数 a1,a2,⋯,an,a_1,a_2,⋯,a_n,a1,a2,,an, 相邻两个整数之间用一个空格分隔。

3.输出格式

输出一行包含一个整数表示数组 AAA 有多少个长度大于等于 2 的子数组的近 似 GCD 的值为 ggg

4.样例输入

5 3
1 3 6 4 10

5.样例输出

5

6.数据范围

2≤n≤105,1≤g,ai≤109。2≤n≤10^5,1≤g,ai≤10^9。2n105,1g,ai109

7.原题链接

近似GCD

2.解题思路

首先,如果一个数是g的倍数,那我们称其为符合条件的数。如果一个数组的近似GCD为 ggg,那么该数组最多只能有一个数不符合条件。为什么呢?因为如果只有一个不符合条件的数话,我们将其变为g,那么该数组的GCD将为g。如果数组全部符合条件呢?那我们只需要随便将其中一个数变为g,该数组的GCD也将为g

那么现在问题就转换为存在多少个长度大于2的子数组使得子数组内最多只存在一个不符合条件的数,这个问题我们可以使用双指针解决。右指针r遍历数组的每一个数,左指针l将是以r将作为子数组的右端点的情况下,左端点能最远能到达的距离,也就是使得[l,r][l,r][l,r]区间最多只存在一个不符合条件的数,且 lllrrr 之间的距离尽可能长。这样的话,数组[l,r][l,r][l,r],[l+1,r][l+1,r][l+1,r],[l+2,r][l+2,r][l+2,r][r−1,r][r-1,r][r1,r]都是符合条件的答案,总共是r-l个。对于数组的每一个数我们都将其作为r后,累加答案即可。

但是对于每个数的上界l我们该如何考虑呢?如果是符合条件的数,那么它的上界是上两个不符合条件的数的下一个数。就比如下标c是符合条件的数,在它之前上一个不符合条件的数下标是b,再往前一个不符合条件的数的下标为a,那么c的上界下标l应该指向a+1。如果是不符合条件的数,那么很明显它的上界应该是上一个不符合条件的数的下一个数。 同样假设下标c的上一个不符合条件的数的下标为b,那么它的上界就应该是b+1。明白了这个过程后,我们使用变量last来记录上一次不符合条件的数的位置,每次遇到不符合条件的数,就将llast更新。

当然上述双指针做法过于抽象,我们考虑变换数组的值,如果其是符合条件的数,我们将其值赋为1,否则赋为0,对于区间[l,r][l,r][l,r]是否为符合条件的子数组,只需要判断 sum[l,r]sum[l,r]sum[l,r]是否大于等于 r−lr-lrl。求区间和 sumsumsum,我们可以使用前缀和数组直接获取,但由于是双指针,也可以同时维护,这里代码使用了前缀和数组。

时间复杂度:O(n)O(n)O(n)

3.Ac_code

1.C++

代码1:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=100010;int n,g;
int a[N];int main() 
{scanf("%d%d",&n,&g);for(int i=1;i<=n;++i){scanf("%d",&a[i]);}LL ans=0;//记录上一个不符合条件的数int last=0;//记录符合条件子数组的左区间int l=1;for(int r=1;r<=n;++r){//判断它是否是符合条件的数bool t=a[r]%g==0;if(!t){//时刻保证区间内不符合条件的数只能有一个l=last+1,last=r;}//累加答案ans+=r-l;}printf("%lld\n",ans);return 0;
}

代码2:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long uLL;
typedef pair<int, int> PII;
#define pb(s) push_back(s);
#define SZ(s) ((int)s.size());
#define ms(s,x) memset(s, x, sizeof(s))
#define all(s) s.begin(),s.end()
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
const int N = 200010;int n, g;
void solve()
{cin >> n >> g;std::vector<int> a(n + 1);for (int i = 1; i <= n; ++i) {int x;cin >> x;a[i] = (x % g == 0);a[i] += a[i - 1];}int l = 0;LL ans = 0;for (int r = 2; r <= n; ++r) {while (l + 1 < r && a[r] - a[l] < r - l - 1) l++;ans += r - l -1;}cout << ans << '\n';
}
int main()
{ios_base :: sync_with_stdio(false);cin.tie(0); cout.tie(0);int t = 1;while (t--){solve();}return 0;
}

2.Python

n,g=map(int,input().split())
a=list(map(int,input().split()))
a=[0]+a
ans=0#记录上一个不符合条件的数
last=0#记录符合条件子数组的左区间
l=1
for r in range(1,n+1):if a[r]%g!=0:l=last+1last=rans=ans+(r-l)
print(ans)
http://www.hkea.cn/news/411715/

相关文章:

  • 信息门户网站是什么成人计算机培训机构哪个最好
  • 网站建设公司 中企动力公司东莞商城网站建设
  • b2c的电子商务网站自己想做个网站怎么做
  • 京东pc网站用什么做的如何注册网站怎么注册
  • 长沙商城网站制作seo线下培训课程
  • web网站开发公司网站制作优化排名
  • 这么做3d网站企业邮箱网页版
  • 瑞安网站建设公司关键词排名网络推广
  • 南京学做网站友情链接检查工具
  • 参考文献网站开发百度重庆营销中心
  • 如何做微信ppt模板下载网站企业网页设计公司
  • 做b2b网站百度点击快速排名
  • 网站怎么做移动图片不显示不出来吗芭嘞seo
  • 旅游网站建设服务器ip域名解析
  • 企业网站建设三个原则百度指数资讯指数是指什么
  • 房地产集团网站建设方案软文文案案例
  • 阜蒙县建设学校网站是什么北京seo编辑
  • 珠海建设局网站十大经典事件营销案例分析
  • 创建网站开发公司互联网推广引流是做什么的
  • 万盛集团网站建设seo网站推广全程实例
  • 做教育的网站需要资质吗网站怎么开发
  • 微网站怎么做滚动中国万网域名注册官网
  • 个人如何免费建网站seo在线优化工具 si
  • 双线主机可以做彩票网站吗网络推广合作协议
  • 做外贸的b2b网站域名批量查询系统
  • 建设网站需要哪些职位网站建设策划书
  • 苏州网站建设哪里好网站点击排名优化
  • 网站建设收费标准策划百度推广关键词越多越好吗
  • 网站怎么做更新吗如何建立网页
  • 国外建设工程招聘信息网站tool站长工具