codeforces 959 D. Mahmoud and Ehab and another array construction task

ST MotorControl Workbench 6.2.1 自定义硬件配置避坑指南 本文详细介绍了ST MotorControl Workbench 6.2.1在自定义硬件配置中的常见问题与解决方案,涵盖功率板配置、采样电路校准、电机参数设置及代码生成避坑指南,帮助开发者高效完成电机控制项目开发。 阅读详情

题目链接

陈瑜推荐的好题。

就是给你一个数字串,让你找到一个字典序最小的串,满足这串中的数组两两互质,并且字典序不小于原串。

#include<bits/stdc++.h>
#define mem(a,b) memset((a),b,sizeof(a))
#define de cout<<endl<<endl<<endl
typedef long long ll;
const int inf=0x3f3f3f3f;
const int maxn=2e6+10;
using namespace std;
int n,a[maxn],prime[maxn],cnt[maxn];
bool b[maxn];
void init()
{
    mem(b,true);
    b[0]=false;b[1]=false;
    for(int i=2;i<maxn;i++)
    {
        if(b[i])
        {
            for(int j=2;i*j<maxn;j++)
                b[i*j]=false;
        }
    }
    int cnt=0;
    for(int i=1;i<maxn;i++)
        if(b[i])
            prime[++cnt]=i;
}
bool ok(int k)
{
    int ret=true;
    for(int i=2;i<=sqrt(a[k]);i++)
    {
        if(b[i]&&(a[k]%i==0))
        {
            if(cnt[i]>=1)
                ret=false;
        }
        int pp=a[k]/i;
        if(a[k]%pp==0&&b[pp])
            if(cnt[pp]>=1)
                ret=false;
    }
    if(b[a[k]]==true&&cnt[a[k]]>=1)   ret=false;
    if(ret==false)  return false;
    for(int i=2;i<=sqrt(a[k]);i++)
    {
        if(b[i]&&(a[k]%i==0))
            cnt[i]++;
        int pp=a[k]/i;
        if(a[k]%pp==0&&b[pp])
            cnt[pp]++;
    }
    if(b[a[k]])
        cnt[a[k]]++;
    return true;
}
void print()
{
    printf("%d",a[1]);
    for(int i=2;i<=n;i++)
        printf(" %d",a[i]);
    puts("");
}
int main()
{
    mem(cnt,0);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    init();
    int p=-1;
    for(int i=1;i<=n;i++)
        if(ok(i)==false)
            {p=i;break;}
    if(p==-1)
        {print();return 0;}
    int num=a[p];
    for(int i=num+1;i<=maxn;i++)
    {
        a[p]=i;
        if(ok(p))
            break;
    }
    int q=1;
    for(int i=p+1;i<=n;i++)
    {
        for(int j=q;j<=maxn;j++)
        {
            if(b[j]==true&&cnt[j]==0)
                {a[i]=j;q=j+1;cnt[j]++;break;}
        }
    }
    print();
    return 0;
}

 

《点云进阶》专栏文章目录 点云进阶》专栏文章目录 阅读详情

相关推荐

算法系列之十二:多边形区域填充算法--几种边标志填充算法

四、边界标志填充算法 在光栅显示平面上,多边形是封闭的,它是用某一边界色围成的一个闭合区域,填充是逐行进行的,即用扫描线逐行对多边形求交,在交点对之间填充。边界标志填充算法就是在逐行处理时,利用边界或边界颜色作为标志来进行填充的。准确地说,边界标志填充算法不是指某种具体的填充算法,而是一类利用扫描线连贯性思想的填充算法的总称。这类算法有很多种,本篇就介绍几种。 首先介绍一种以边为中心的边缘填充...

java开发指南博客 【转载】 1898

cf Mahmoud and Ehab and another array construction task(素数处理大乱炖)

做惯了素数分解,其实直接因数分解,复杂度也是根号的,这非常有用. 筛是线性的,这也非常重要. 给出一段数,让你给出一个字典序大于他的最小数列.这种最小的大于..不是特别的东西. 每一个数放进来,素因数分解,如果和之前数没有重合,那么把他的新素因数都过一遍. 如果有了重合,那么就不行了. 这题说不出什么,感觉就是筛法的重现.搞不太清楚. #include &lt;iostream&gt;...

blog 307

以GD32F103C8T6为例的核心板原理图PCB绘制学习笔记简单总结

重点在supplier part是立创商城的编号,可以搜到。

2301_80397661的博客 3261

Codeforces 959D D. Mahmoud and Ehab and another array construction task

一个老学长让我做的一个好题,刚开始题意没读对,想了好长时间,没想法,后来由一个女生给我讲了一下,我才有了想法, 虽然T了N遍,总算过了,下面给大家分享一下。D. Mahmoud and Ehab and another array construction tasktime limit per test3 secondsmemory limit per test256 megabytesinput...

Amo丶 450

Java服务端实现Google Pay支付功能

全网最全代码、最清晰服务端处理Google Pay,最清晰讲解Google Pay集成逻辑。

jack2350536098的博客 1万+

在国产麒麟系统上,用Postfix和Dovecot手搓一个内部邮件服务器(附Foxmail配置)

本文详细介绍了在国产麒麟系统上使用Postfix和Dovecot搭建内部邮件服务器的完整流程,包括系统准备、核心配置、安全加固及客户端适配。针对国产环境的特殊需求,提供了依赖包适配、配置差异和Foxmail客户端配置的实用解决方案,助力企业实现高效内部协作。

weixin_33722405的博客 370

CF959D Mahmoud and Ehab and another array construction task [乱搞]

D. Mahmoud and Ehab and another array construction task time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard output Mahmoud has an array a consisting of n...

MekakuCityActors的博客 474

【知识分享】IBIS 建模指南 05

本文详细阐述了IBIS模型创建过程中的关键技术和数据规范要求。主要内容包括:1. 数据完整性检查要点,强调I-V和V-T数据必须覆盖所有工艺角且匹配;2. 数据限制处理方法,介绍100/1000点限制下的两种数据筛选算法;3. 特殊数据处理技术,包括内部终端电阻调整和V-T表时间窗口选择;4. 高级关键字应用,涵盖[ModelSelector]、[Sub model]、[DiffPin]等复杂功能实现方法;5. 预加重缓冲器等特殊结构的建模方案。

一只豌豆象的博客 1594

Codeforces-959D Mahmoud and Ehab and another array construction task(数论,质因子分解)

D. Mahmoud and Ehab and another array construction tasktime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputMahmoud has an array a consisting of n inte...

sher杨的博客 384

基于滤波反投影的图像重建算法matlab仿真

基于滤波反投影的图像重建算法是一种用于医学影像重建的计算机辅助技术。该算法可以从投影数据中重建出高质量的三维图像,被广泛应用于医学影像学、CT、PET等领域。本文将详细介绍基于滤波反投影的图像重建算法的原理、步骤和应用。一、原理介绍基于滤波反投影的图像重建算法基于X射线CT成像原理,它的主要思想是通过对投影数据进行处理,反推出被成像物体的三维形状。其核心原理是投影数据与目标物体之间的线性关系,即通过估计目标物体的吸收率来计算投影数据的变化,从而反推出目标物体的三维形状。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 385

华为OD机试真题 新系统2026-04-08 Python&JS 实现【配置操作失败数量统计】

模拟一个系统的命令行配置,包含添加、修改、删除三项操作,详情如下: 添加操作命令:add_rulerule_id=1rule_index = 18 修改操作命令: mod_rule rule_id= 1rule_index = 100 删除操作命令:del_rulerule_id=1

MISAYAONE的博客 586

959D--Mahmoud and Ehab and another array construction task

题目 Mahmoud has an array a consisting of n integers. He asked Ehab to find another array b of the same length such that: b is lexicographically greater than or equal to a. bi ≥ 2. b is pairwise coprime...

树莓一只猪 311

黏菌优化算法(SMA)详解:从生物智能到优化引擎

黏菌优化算法(SMA)是一种新型生物启发式优化算法,模拟多头绒泡菌的智能觅食行为。该算法包含接近食物、包围食物和抓取食物三个阶段,通过数学模型将生物行为转化为优化过程。SMA采用权重自适应机制和参数振荡模型实现探索与开发的平衡,具有参数简单、收敛性好等优势。算法可通过MATLAB/Python实现,并应用于函数优化、工程设计和神经网络训练等领域。研究表明SMA在求解复杂优化问题时表现优异,未来可通过混沌增强、混合策略等方式进一步提升性能。

qq_42212808的博客 659

codeforces959D. Mahmoud and Ehab and another array construction task 因数的递归

D. Mahmoud and Ehab and another array construction task time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Mahmoud has an array a co...

u011535421的博客 347

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Codeforces 959-D Mahmoud and Ehab and another array construction task (贪心思想)

Problem Description Mahmoud has an array a consisting of n integers. He asked Ehab to find another array b of the same length such that: b is lexicographically greater than or equal to a. b...

wcxyky的博客 268

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Codeforces-959D Mahmoud and Ehab and another array construction task(贪心)

题意: 给定数组a,求大于或者等于数组a字典序的数组b,满足任意i,j,gcd(bi, bj) = 1。并且是在所有满足条件中的字典序最小的一个。 思路: 任意一对数互质,可以通过标记其质因子来解决,在找到第一个违背互质的数时,只需要找出大于该数的最小的一个与前面所有数互质的数,在此之后,要想保证字典序最小,便是所有可用的质数从小向大取。 代码: #include using name

yo_bc的博客 663

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Codeforces 959D. Mahmoud and Ehab and another array construction task(构造, 简单数论)

Codeforces 959D. Mahmoud and Ehab and another array construction task 题意 构造一个任意两个数都互质的序列,使其字典序大等于a序列且最小。 思路 其实这题乱搞就行了。用到了之前HDdalao教我的素因子分解方法,可以快速地对枚举的数进行检测。 我们维护一个当前已填的数的素因子集合以及一个大于1的自然数集合(考虑最坏情况,我们总可...

weixin_30563917的博客 125

Codeforces 959 D Mahmoud and Ehab and another array construction task

Discription Mahmoud has an arrayaconsisting ofnintegers. He asked Ehab to find another arraybof the same lengthsuch that: bis lexicographically greater than or equal toa. bi ≥ 2. bis pa...

weixin_30367169的博客 144

Codeforces-959D Mahmoud and Ehab and another array construction task 素数筛+质因数分解

题意:    给一个数组a,求大于或者等于数组a的字典序的数组b,其中b满足数组内任意数互质,bi&gt;=2。并且是所有满足条件中的字典序最小的一个。题解:         这道构造题首先要考虑的就是如果a数组内的数互质的话,就不需要构造出b数组,直接输出a数组就可以了。那么我们怎么判断整个数组内的数是否互质呢?不能单单的左右判断就完事(意思就是假如,2,3,4判断是否互质,2和3不互质,3和4...

Start_to_crazy的博客 359

codeforces 959-D. Mahmoud and Ehab and another array construction task(素数打表+乱搞)

http://codeforces.com/problemset/problem/959/D 题目大意: 给出一个串数a,要求构造一个相同个数的数组b,保证b中的数互相互素。 解题思路: 首先素数打表,然后枚举a数组中的数,判断是否都在数组中,然后分两类处理即可; #include&lt;iostream&gt; #include&lt;vector&gt; #in...

HJ 721

Codeforces_959D_Mahmoud and Ehab and another array construction task(数学+贪心)

传送门 题意:给你一个序列A,让你求一个序列B,满足以下情况: 1.B的字典序比A大 2.Bi&gt;=2 3.B中的没两个数都两两互质。 思路:先预处理质因数。B中满足两两互质等价于B中没有相同的质因数。所以对于每个数看,他的质因数有没有在之前出现过,出现过就找 下一个,如果找到的数和起始的不一样的话,之后的数只需要从最小的质数开始就行。 #include&lt;bits/stdc+...

yyy_3y的博客 422

Codeforces Round #473 (Div. 2) D. Mahmoud and Ehab and another array construction task【素因数分解】【构造】

题目链接:https://codeforc.es/problemset/problem/959/D 题目大意:给定一个序列aaa,要你找到一个大于等于原序列的字典序最小的新序列bbb,使其满足:bi&gt;=2b_i&gt;=2bi​>=2,且1&lt;=i,j&lt;=n,gcd(bi,bj)=11&lt;=i,j&lt;=n,gcd(b_i...

weixin_43499182的博客 149

Codeforces Round #473 (Div. 2) D. Mahmoud and Ehab and another array construction task

题目链接:http://codeforces.com/contest/959/problem/D 题意:给你一个数组,要你找出比它字典序大的互质数组 算法:素数筛 思路:通过素数筛,可以将2~MAXN的所有数对应到它的最小素因数,再通过while,每次都 x/=factor[x], 即可遍历x的所有素因数 #include &lt;bits/stdc++.h&gt; #define pi ...

凝望的博客 245

Codeforces Round #473 (Div. 2) D. Mahmoud and Ehab and another array construction task(构造)

题目链接:http://codeforces.com/contest/959/problem/D题目大意:题目给出一个长度为n的数组a,要你构造出满足如下三个条件的长度也为n的数组b:1、数组b的字典序大于等于a;2、数组b中的任意元素&gt;=2;3、数组b中的任意两个元素都互质,也就是对于任意1&lt;=i,j&lt;=n,有gcd(b[i],b[j])=1;同时题目要求b的字典序尽可能的小。...

Lee_w_j__的博客 247

cf 959D Mahmoud and Ehab and another array construction task

一 原题D. Mahmoud and Ehab and another array construction tasktime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputMahmoud has an array a consisting of n ...

max_kibble的博客 344

洛谷P4016

题目标签写着网络流诶….那么问题就是如何建图了…看到题解里一波大神用平均值来计算…但是蒟蒻没想到诶…所有我就比较暴力了…. 对于每个点一拆为二(ia,ib),建立超源超汇,然后对于每个点,从源点s向其连一条容量为c[i],费用为0的边,从ia向ib连一条容量为无限,费用为0 的边(因为可以不停的把别的地方的货物搬到ia,然后从ib搬到下一个点去,ia到ib搬运当然是不用钱的),然后从ib向汇点t...

HumveeA6的博客 367
上一篇: Codeforces Round #552 (Div. 3) codeforces 1154
下一篇: Codeforces Round #598 (Div. 3) codeforces 1256
flyzer
博客等级 码龄9年 27粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值