bzoj 4921: [Lydsy六月月赛]互质序列
4921: [Lydsy六月月赛]互质序列
Time Limit: 1 Sec Memory Limit: 256 MB
Submit: 188 Solved: 110
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
3 4 5 2 9
Sample Output
/**************************************************************Problem: 4921User: JYYHHLanguage: C++Result: AcceptedTime:308 msMemory:2460 kb
****************************************************************/#include<bits/stdc++.h>
#define ll long long
#define maxn 100005
const int ha=998244353;
using namespace std;
int a[maxn],n,hz[maxn];
int r[maxn],qz=0,ans=0;inline int add(int x,int y){x+=y;while(x>=ha) x-=ha;return x;
}int gcd(int x,int y){return y?gcd(y,x%y):x;
}int main(){scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",a+i);hz[n+1]=0;for(int i=n;i>1;i--){hz[i]=gcd(a[i],hz[i+1]);r[i]=(hz[i]==hz[i+1]?r[i+1]:i);//后缀 if(i<n) ans=add(ans,hz[i]);}for(int i=1;i<n;i++){qz=gcd(qz,a[i]);//前缀 if(i>1) ans=add(ans,qz);//前缀+后缀 if(qz==1) ans=add(ans,n-i-1);else{for(int j=i+2;j<=n;j=r[j]+1){ans=add(ans,gcd(hz[j],qz)*(ll)(r[j]-j+1)%ha);}}}printf("%d\n",ans);return 0;
}
转载于:https://www.cnblogs.com/JYYHH/p/8525848.html
bzoj 4921: [Lydsy六月月赛]互质序列相关推荐
- BZOJ 4921: 互质序列 数学 枚举
4921: 互质序列 Time Limit: 1 Sec Memory Limit: 256 MB Submit: 112 Solved: 61 [Submit][Status][Discuss] ...
- [BZOJ4920][Lydsy六月月赛]薄饼切割
[BZOJ4920][Lydsy六月月赛]薄饼切割 试题描述 有一天,tangjz 送给了 quailty 一张薄饼,tangjz 将它放在了水平桌面上,从上面看下去,薄饼形成了一个 \(H \tim ...
- BZOJ4921「Lydsy1706月赛」互质序列
吐槽一下BZOJ没有C++11 题还是不难的 BZOJ 4921 题意 在长度为$ n$的数列中去掉非空的连续一段并保证剩下数字不少于$ 2$ 求合法的所有方案中剩下数字的最大公约数的总和 $Sol ...
- [JZOJ5952] 凯旋而归 ([BZOJ 5092]【Lydsy1711月赛】分割序列)【高维前缀和】【DP】
Description 对于一个长度为m的序列a,记f(a)=max((a1xor...xorai)+(ai+1xor...xoran)),i∈[0,m]f(a)=\max((a_1\ xor\ . ...
- BZOJ4921 互质序列
即求删掉一个子序列的gcd之和.注意到前后缀gcd的变化次数都是log级的,于是暴力枚举前缀gcd和后缀gcd即可. #include<iostream> #include<cstd ...
- bzoj4921: 互质序列
传送门 首先题目答案可以分为三部分:只取左边,只取右边,两边都取. 发现这些问题可以由前缀gcd和后缀gcd得到. 然后可以证明前缀gcd和后缀gcd一定可以分成段数不超过logAi的相同子序列. 因 ...
- 三个数互质 java_LeetCode 5198. 丑数 III(Java)容斥原理和二分查找
请你帮忙设计一个程序,用来找出第 n 个丑数. 丑数是可以被 a 或 b 或 c 整除的 正整数. 示例 1: 输入:n = 3, a = 2, b = 3, c = 5 输出:4 解释:丑数序列为 ...
- 两个互质整数的线性组合问题
两个互质整数的线性组合问题 本文我们讨论两个互质整数的线性组合问题,以及相关的二元一次不定方程. 两个互质整数的线性组合 已知两个整数aaa和bbb互质,即gcd(a,b)=1\gcd(a,b)=1 ...
- `Computer-Algorithm` 数论基础知识 (同余,取模,快速幂,质数,互质,约数,质因子)
catalog 同余 取模 快速幂 质数 互质 约数 质因子 @Delimiter(旧解释) 经验谈 两数之差也整除 加一的特殊性 取模 累加的周期性 取模的唯一集合 取模下的四则运算 除法的不可约性 ...
最新文章
- Docker的性能损耗:以基因组分析流程为例
- 链路负载均衡的链路和NAT地址保持
- python RuntimeError: maximum recursion depth exceeded
- python-字符串前面f的作用
- 在Filter 无法跳转地址
- 领域驱动设计战术模式--值对象
- docker操作语句
- CXF WebService整合Spring
- 不同进制数的表示方法
- ffmpeg -视频旋转和高清转码示例
- 网易游戏开发工程师笔试题
- [20180801]insert导致死锁.txt
- 第十二届蓝桥杯时间显示问题 python解法
- 计算机屏幕截图按什么键,电脑按什么键自由截图
- execution(* com.xxx.*.*(..))
- 微信小程序,短信验证码登录,设置密码,密码强度校验
- 计算机专业在广东省的录取分数线,深圳大学广东本科批稳居广东高校前4!2019各省录取分数线发布!...
- AUTOSAR MCAL详解: SPI (2)
- Python类和对象使用
- 安安猜价格聪明机器人_App Inventor-零基础Android移动应用开发
热门文章
- Redis的两种持久化方式
- 3 汪博士解读pmp_备考两月,我顺利通过PMP考试
- python 栈和队列_Python实现栈和队列的简单操作方法示例
- “敏捷版”全链路压测
- 这是阿里技术专家对 SRE 和稳定性保障的理解
- 程序员修炼之路:你该知道的 7 个必经阶段
- Dubbo 云原生之路:ASF 毕业一周年、3.0 可期
- 从零入门 Serverless | 架构的演进
- 从零开始入门 | Kubernetes 中的服务发现与负载均衡
- linux永久改变字符集,Linux 下mysql永久更改字符集