codeforces 264 B. Good Sequences(dp+数学的一点思想)

题目链接:http://codeforces.com/problemset/problem/264/B

题意:给出一个严格递增的一串数字,求最长的相邻两个数的gcd不为1的序列长度

其实这题可以考虑一下素因数,将每一个数都已是分解为几个不重复的素数,设dp[i]为含有因数i的最长序列有多长

然后遍历一下这串数字,每次更新dp[a[i]]=max(dp[j]+1,dp[a[i]]),j表示a[i]的素因数,再将每个素因数更新为

最大值。

for(int i = 1 ; i <= n ; i++) {

        int gg = a[i] , flag = 0 , sum = 0;

        MAX = 0;

        for(int j = 0 ; j < cnt ; j++) {

            flag = 0;

            while(gg % num[j] == 0) {

                flag = 1;

                gg /= num[j];

            }

            if(flag == 1) {

                b[sum++] = num[j];

            }

            if(gg == 1)//不加这句会超时,因为最后当gg为1的时候就没有1以外的因数了再找下去就是浪费时间

                break;

        }

        for(int j = 0 ; j < sum ; j++) {

            MAX = max(dp[b[j]] + 1 , MAX);

        }

        for(int j = 0 ; j < sum ; j++) {

            dp[b[j]] = MAX;

        }

    }

 

#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdio>
using namespace std;
const int M = 1e5 + 10;
int a[M] , b[M] , dp[M] , prime[M] , num[M] , cnt = 0;
void IsPrime() {prime[0] = prime[1] = 0 , prime[2] = 1;for(int i = 3 ; i < M ; i++) {prime[i] = i % 2 == 0 ? 0 : 1;}int t = (int)sqrt(M * 1.0);for(int i = 3 ; i <= t ; i++) {if(prime[i]) {for(int j = i * i ; j < M ; j += 2 * i) {prime[j] = 0;}}}for(int i = 2 ; i < M ; i++) {if(prime[i]) {num[cnt++] = i;}}
}
int main() {int n;IsPrime();scanf("%d" , &n);int count = 0 , MAX = 0;for(int i = 1 ; i <= n ; i++) {scanf("%d" , &a[i]);}memset(dp , 0 , sizeof(dp));for(int i = 1 ; i <= n ; i++) {int gg = a[i] , flag = 0 , sum = 0;MAX = 0;for(int j = 0 ; j < cnt ; j++) {flag = 0;while(gg % num[j] == 0) {flag = 1;gg /= num[j];}if(flag == 1) {b[sum++] = num[j];}if(gg == 1)break;}for(int j = 0 ; j < sum ; j++) {MAX = max(dp[b[j]] + 1 , MAX);}for(int j = 0 ; j < sum ; j++) {dp[b[j]] = MAX;}}int MM = 1;for(int i = 0 ; i < cnt ; i++) {MM = max(dp[num[i]] , MM);}printf("%d\n" , MM);return 0;
}

转载于:https://www.cnblogs.com/TnT2333333/p/6675028.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

app离线消息推送服务器,在线消息推送和离线消息推送(3)

首先介绍一下具体的功能设计。整个系统由服务端、客户端组成。客户端包含前端(浏览器端、pyqt桌面端)和后台(用于添加要推送的消息)。因为浏览器端不容易注意到实时提醒&#xff0c;所以我将实时提醒功能放到pyqt桌面端中实现(如托盘区闪烁等醒目的方式)。浏览器端中只对消息进…

基于深层卷积网络的手写数字识别 minist_「Tensorflow」基于CNN的数字OCR识别

导读 对于人类来说&#xff0c;识别手写的数字是一件非常容易的事情。我们甚至不用思考&#xff0c;就可以看出下面的数字分别是1&#xff0c;2&#xff0c;3。那机器如何来识别数字&#xff1f;本期将使用Tensorflow搭建卷积神经网络&#xff0c;进行手写数字的识别。代码可关…

2019年5G创新深度研究报告

来源&#xff1a;中信建投从历史上看&#xff0c;每一轮科技产业创新周期均主要由通信代际升级驱动&#xff0c;历时 5-8 年。我们认为 2017-2019 年为 4G 时代的稳定成熟期&#xff0c;而进入 2020 年&#xff0c;运营商加速投入 5G 网络建设&#xff0c;科技软硬件有望在运营…

鹰眼系统原理_山东首家露天焚烧鹰眼监控系统在我镇投入使用

露天冒烟着火&#xff0c;不用人员到现场&#xff0c;电子围栏就会锁定目标&#xff0c;自动报警&#xff0c;提醒监管人员立即现场处置。日前&#xff0c;莱西市院上镇新安装建设的污染源鹰眼监控系统投入使用&#xff0c;实现了环境监控全方位、自动化。据了解&#xff0c;这…

python requests是什么_python requests 连接池

本文从WordPress迁移而来, 查看全部WordPress迁移文章 背景&#xff1a;要从内部的一个web api拉取数据&#xff0c;要请求大概15万次左右&#xff08;15万个ID&#xff0c;每个ID请求一次&#xff09; 特点&#xff1a;一个host&#xff08;也可以以IP直接请求&#xff09;&am…

7nmarm微架构鲲鹏服务器芯片,中国电信服务器集采:同方鲲鹏服务器拿下6000万元份额...

原标题&#xff1a;中国电信服务器集采&#xff1a;同方鲲鹏服务器拿下6000万元份额(全球TMT2021年4月9日讯)日前&#xff0c;中国电信(2021年)服务器集采项目招标的GPU型服务器中标候选人公示发布。其中&#xff0c;鲲鹏、海光等国产CPU服务器占比进一步提升&#xff0c;标志着…

机器人的工作原理,这是我见过最详细的解析!

来源&#xff1a;网络很多人一听到“机器人”这三个字脑中就会浮现“外形酷炫”、“功能强大”、“高端”等这些词&#xff0c;认为机器人就和科幻电影里的“终结者”一样高端炫酷。其实不然&#xff0c;在本文中&#xff0c;我们将探讨机器人学的基本概念&#xff0c;并了解机…

linux mint 图标主题_如何在 Linux Mint 中更换主题

一直以来&#xff0c;使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验。这也是为何我喜爱 Linux Mint的主要原因之一。-- Its Foss&#xff08;作者&#xff09;一直以来&#xff0c;使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验。这也是为何我喜爱 Linux…

服务器物品展示框刷物品,我的世界1period;11period;2展示框刷物品bug | 手游网游页游攻略大全...

发布时间&#xff1a;2017-09-25我的世界惊现全新无限刷物品bug 服主大大都要注意了.那今天给大家分享一个玩家无意间发现的新的无限刷物品bug,而且还是在服务器中哦!那感兴趣的玩家不妨进来看看哦! 在一个rpg服务器玩 开小号召唤boss的时候发现的. ...标签&#xff1a;我的世界…

Nature:揭示人大脑类器官为何缺乏正常人脑特有的细胞亚型和复杂回路

来源&#xff1a;生物谷作为在实验室中通常利用人类干细胞培育出的大脑样组织三维球体&#xff0c;大脑类器官被吹捧为有潜力让科学家们在受控的实验室条件下研究大脑回路的形成。关于大脑类器官的讨论非常热闹&#xff0c;一些科学家认为它们将使得快速开发针对破坏性的脑部疾…

anaconda 怎么安装xlrd_Pyinstaller打包,文件太大了怎么办?

这是一个很长的故事&#xff0c;嫌长的直接看最后的结论事情经过上周接了个需求&#xff0c;写了个小工具给客户&#xff0c;他要求打包成exe文件&#xff0c;这当然不是什么难事。因为除了写Python的&#xff0c;绝大多数人电脑里都没有Python编译器&#xff0c;所以打包成exe…

2017.4.07 js 中的function 实现的方式

函数分为FD &#xff08;函数定义&#xff09;&#xff0c;FE&#xff08;函数表达式&#xff09; ,函数构造器得到的函数(1) FD 的栗子&#xff1a;function getTaste(){ .......}解析器遇到上面的function关键字&#xff0c;会解析上面的代码为函数定义的情况&#xff0c;凡…

android checkbox 选中事件_使用Vue3.0新特性造轮子 WidgetUI3.0 (Checkbox复选框组件)

"title"标题示例代码&#xff1a;data [ { title: 新日小卫士二代, }, { title: 车子质量不合格, }, { title: 我买的骑士1号仪表台进水怎么回事&#xff1f;, }, { title: 风雅欧妮大灯高低调节, }]"title"标题和"desc"描…

服务器装系统用哪个好,服务器系统重装用哪个系统

服务器系统重装用哪个系统 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。重装裸金属服务器的操作系统。快速发放裸金属服务器支持…

2020图机器学习GNN的四大研究趋势

来源&#xff1a;专知【导读】以图神经网络为代表的图机器学习在近两年成为研究热点之一。近日&#xff0c;图机器学习专家 Sergei Ivanov 为我们解读了他总结出来的 2020 年图机器学习的四大热门趋势&#xff0c;包括图神经网络的理论理解、应用普及、应用、图嵌入框架&#x…

c++ 将文件内容输出到word上_原来PDF转Word可以这么简单,只需要一个键!办公起来真方便...

在职场办公中&#xff0c;我们经常接触到PDF文件&#xff0c;如果让你把PDF转换成Word&#xff0c;你还在束手无策吗&#xff1f;今天就来教你3种方法&#xff0c;如何将PDF转换成Word。01.复制粘贴法相信很多新手都只会【CtrlC/V】&#xff0c;虽然PDF文件不能直接被修改&…

python的类和实例_Python使用类和实例

我们可以使用类来模拟现实世界中的很多情景。类编写好后&#xff0c;你的大部分时间都将花在使用根据类创建的实例上。你需要执行的一个重要任务是修改实例的属性。你可以直接修改实例的属性&#xff0c;也可以编写方法以特定的方式进行修改。 Car类 下面来编写一个表示汽车的类…

iApp最新版无服务器多功能软件库源码

无需服务器的多功能软件库源码分享&#xff0c;仅需添加一个后台应用和一个文档即可 使用教程如下&#xff1a; 在浏览器中打开理想后台地址&#xff1a;http://apps.xiaofei.run/user/ 如果没有账号&#xff0c;请注册一个免费账号。 登录账号后&#xff0c;添加一个后台应…

二维数组求和 团队开发

题目:返回一个二维整数数组中最大联通子数组的和。 要求&#xff1a; 输入一个二维整形数组&#xff0c;数组里有正数也有负数。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 开发方式&#xff1a;团队开发 主要思路&#xff1a;二维连通数组求最大子数组&#xff0c;我…

rpc协议微服务器,RPC协议及实现方式(分布式微服务治理的核心)

分布式微服务治理的核心在于: 微服务和分布式(微服务框架)微服务的最优技术实现目前是: SpringBoot(RPC 框架)分布式的最优技术实现目前是: Thrift,Motan,Dubbo,Spring Cloud(Netflix OSS),Finagle,gRPCRPC 是什么RPC 的全称是 Remote Procedure Call &#xff0c;是一种进程间…