CF473 DIV2 D. Mahmoud and Ehab and another array construction task

我用两个月时间,终于把优快云付费资源项目玩明白了! 关于项目的定位,这是一个知识付费项目,根据市场研究机构的数据显示,到2023年,全球知识付费市场规模将达到2000亿美元,所以说知识付费的前景是十分广阔的,当下互联网时代信息大爆炸,80后、90后、00后群体对知识付费的认可度也大幅提升,同时这群作为知识付费的主流人群已经具备了更强的消费能力,而且对于知识付费的需求更高。目前整个知识付费领域仍然在发展起步的初期,尽快在知识付费领域布局可以帮助我们在这波红利中获得一份不错的收益。而且个人认为, 阅读详情

本题基于一种贪心的思路,即:能不改就不改,但是一旦改了以后,后面的都改;具体而言,就是从前往后扫,如果当前位置的数不与前面的数冲突的话,那么我们就不改动他。但是,一旦有一个数冲突了,根据题意我们肯定要换一个更大的数,那么此时整个序列肯定就比原序列大了,那么后面的数我们肯定都要换尽可能小的。
同时,还要考虑的一个问题是,如何保证后面选的数不与前面已经选过的数冲突。方法非常暴力:我们预处理出每个数的所有约数,一旦该数被选中,那么我们就把他的所有约数的倍数都删除掉,也就是不可选。为了高效的进行查找可行数与删除操作,我们可以用一个set来存放所有数字。
PS:虽然题目给出的数据范围是1e5,但是并不保证符合条件的答案的数一定只在这个范围内,经测试2e6是安全的。

#include<cstdio>
#include<set>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
const int N=2e6+5;
bool isnot[N],erase1[N];
set<int>s;
vector<int>G[N];
void getys(void)//预处理约数
{
    for(int i=2;i<N;i++){
        //if(isnot[i])continue;
        if(!isnot[i]) {
            for (int j = i; j < N; j += i) {
                isnot[j] = true;
                G[j].push_back(i);
            }
        }
        s.insert(i);//初始时从2到N都认为是可以的
    }
}
int main()
{
    int n,i,j,k;
    cin>>n;
    getys();bool islarge=false;
    for(i=1;i<=n;i++){
        int a,b;
        scanf("%d",&a);b=*s.begin();//因为要输出,所有先赋值为最小的数
        if(!islarge) {//如果还没有更改,也就是序列还没有大于原序列
            b = *s.lower_bound(a);//用set可以高效查找当前剩下数中符合要求的数
            if(b!=a)islarge=true;//如果找到的第一个满足要求的数不是原序列中的数的话,
            // 也就是说原序列中的数与前面的数是冲突的,那么就说明这个位置已经发生了更改
        }
        cout<<b<<' ';
        for(int j:G[b]){//删除选中数的所有约数的倍数
            if(erase1[j])continue;
            for(k=j;k<N;k+=j){
                if(!erase1[k]){
                    s.erase(k);erase1[k]=true;
                }
            }
        }
    }
    return 0;
}
SAP ERP与金蝶云星空的集成案例(新能源光伏行业) 通过建设PLM、SAP、MES、WMS、SCADA、EAM等多系统集成的工业互联网平台作为数字化工厂的控制中枢,不仅可以实现人员、设备、物料、工艺参数、产品等生产全流程追溯管理,同时也可以根据数据采集进行生产现场的控制调节,最大程度降低能耗水平。销售订单创建下推金蝶采购订单创建修改、销售订单创建下推金蝶销售订单创建修改、销售发货过账下推金蝶采购入库单、销售发货过账下推金蝶销售出库单:在SAP ERP系统创建销售订单、销售发货过账单后推送到云星空系统,进行采购/销售订单的创建修改、完成物料的入库和出库流程。 阅读详情

相关推荐

UE5摄像机抖动全攻略:从Perlin噪点到Sequence实战(附参数调优技巧)

本文深入解析UE5摄像机抖动技术,从Perlin噪点算法到CameraShakeBase蓝图应用,再到Sequence高级控制,提供全面的参数调优技巧。涵盖战斗、爆炸等场景的预设参数,帮助开发者实现专业级抖动效果,提升游戏沉浸感。

weixin_30300225的博客 95

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

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

blog 307

配置 NVIDIA RTX 5090 + sm_120 + flashattention,已跑通一个大模型 ~~

本文介绍了在Ubuntu 22.04系统下为NVIDIA RTX 50系显卡搭建深度学习环境的完整流程。重点包括:1)安装适配50系显卡(sm_120架构)的CUDA 12.9驱动和Toolkit,需注意禁用系统自带驱动;2)配置环境变量解决nvcc命令识别问题;3)通过源码编译方式安装支持sm_120的PyTorch nightly版本(cu129),解决官方二进制包不兼容问题。整个过程涉及显卡驱动安装、CUDA环境配置、PyTorch适配等关键步骤,并提供了详细的验证方法和常见问题解决方案。文中特别强调

qq_36674060的博客 6156

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

题目链接 陈瑜推荐的好题。 就是给你一个数字串,让你找到一个字典序最小的串,满足这串中的数组两两互质,并且字典序不小于原串。 #include<bits/stdc++.h> #define mem(a,b) memset((a),b,sizeof(a)) #define de cout<<endl<<endl<<endl typedef lo...

flyzer的博客 246

MOSFET高频响应实战:如何用LTspice仿真内部电容效应(附模型文件)

本文深入解析MOSFET高频响应中的内部电容效应,通过LTspice仿真工具详细展示如何提取模型参数并优化高频特性。从栅极相关电容到结电容的物理本质,再到实战案例中的开关损耗分析和频率响应扫描,提供全面的设计优化方法,帮助工程师有效应对高速开关电路中的电容挑战。

weixin_33725722的博客 390

关于自制的《航空学报》latex模板(非官网模板)

《航空学报》的官网只提供了word模板,并且该期刊投稿只需要pdf版本不需要源文件。为方便latex爱好者撰写论文,提供该模板及说明给广大科研人士~

qq_37105055的博客 4691

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

YOLOv8-Pose 姿态识别 RK3588 实战:从模型训练到 RKNN 部署,精度与推理速度双提升

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

FJN110的博客 363

Codeforces Round #435 (Div. 2) E. Mahmoud and Ehab and the function

传送门 E. Mahmoud and Ehab and the function time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Dr. Evil is i

twh233的算法blog 759

基于深度学习的水果新鲜程度检测系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集)

本文详细介绍了如何使用YOLO系列模型(YOLOv5、YOLOv6、YOLOv7、YOLOv8)构建水果新鲜度检测系统。通过数据集准备、模型训练、推理过程以及UI界面的实现,我们能够构建一个实时检测水果新鲜度的系统。通过本博客,您可以全面了解如何应用深度学习技术解决实际问题,尤其是在智能监控和食品质量检测领域。

YOLO 815

大模型风电功率预测:短期,超短期,中长期的完整实现与代码详解

本文全面介绍了基于深度学习大模型的风电功率预测方法,涵盖超短期(15分钟-1小时)、短期(1-6小时)和中长期(1天-1周)三种时间尺度。文章详细阐述了数据准备与特征工程,包括数据收集、预处理和可视化分析。针对不同时间尺度,分别介绍了Temporal Fusion Transformer (TFT)、Informer和N-BEATS模型的构建、训练与评估方法,并提供了完整的开源代码实现。此外,文章还探讨了模型部署与生产环境集成,包括模型保存与加载、实时预测API以及模型监控与再训练。最后,文章总结了关键创新

专注AI大模型,软件混淆,授权 1888

D. 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...

SunMoonVocano的博客 419

C 语言多文件编程 : 大型程序的组织与管理

本文介绍了C语言多文件编程的核心概念与实践方法。主要内容包括:1. 多文件编程的必要性:解决单文件编程在大型项目中的维护和协作问题;2. 文件组织方式:头文件(.h)负责声明接口,源文件(.c)实现具体功能;3. 编译链接过程:分阶段编译和链接多个源文件;4. 头文件设计原则:包含接口声明、使用保护机制、保持自包含性;5. 模块化实践:通过示例展示学生信息管理系统的模块划分;6. 构建工具:介绍Makefile的编写和使用方法。文章还提供了创建静态库和动态库的指导,并强调了模块化设计、信息隐藏等软件工程原则

2503_91057718的博客 1946

洛谷P4016

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

HumveeA6的博客 367

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

Codeforces 1088A Ehab and another construction problem (水)

#include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; #include&lt;vector&gt; #include&lt;set&gt; #include&lt;map&gt; #include&lt;queue&gt; #include

STOP 383

CodeForces - 1088A Ehab and another construction problem 水

A. Ehab and another construction problem time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Given an integer xx, find 2 integers aa a...

pxlsdz的博客 610

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

Ehab and another construction problem

https://codeforces.com/contest/1088/problem/A /* *@Author: STZG *@Language: C++ */ #include &lt;bits/stdc++.h&gt; #include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;cstdlib&gt; #includ...

无限迭代中...... 783

Codeforces ~ 1088A ~ Ehab and another construction problem (暴力)

题意 给你一个x,让你求得一组a和b,满足a∗b&amp;gt;x,a/b&amp;lt;x,a%b=0a*b&amp;gt;x,a/b&amp;lt;x,a\%b=0a∗b&gt;x,a/b&lt;x,a%b=0,输出一组合法的a和b,如果没有输出-1. 思路 n2n^2n2暴力,或者O(1)。输出n-n%2和2. #include&lt;bits/stdc++.h&gt; using nam...

张松超的博客 697

1088A. Ehab and another construction problem

A. Ehab and another construction problem time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Given an integer xx, find 2 integers aa a...

memory_qianxiao的博客 1038

Codeforces 1088A Ehab and another construction problem

#define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;math.h&gt; #include &lt;string&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; using namespace s...

Polanwind 253

Ehab and another construction problem(水题)

Given an integer xx, find 2 integers aa and bb such that: 1≤a,b≤x1≤a,b≤x bb divides aa (aa is divisible by bb). a⋅b&gt;xa⋅b&gt;x. ab&lt;xab&lt;x. Input The only line contains the integer xx (1≤x≤100)(...

starlet_kiss的博客 631

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

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

CodeForce 959F Mahmoud and Ehab and yet another xor task(思维+离线处理)

大致题意:给你n个数字和q个询问。每个询问为l、x,意思是在前l个数字中取一个子集,求子集的异或和为x的子集个数。 通常想法:dp。令dp[i][j]表示前i个数字的子集异或和为j的个数,有转移方程dp[i][j]=dp[i-1][j]+dp[i-1][j^a[i]]。分别代表a[i]取与不取。时空复杂度O(N*2^K),K表示数字二进制最高位。显然,对于N为1e5,K为20的数据范围来说,时空上都不满足我们的要求。 仔细的观察可以发现,dp中其实很多的枚举与转移都是浪费的

alpc_qleonardo 648
上一篇: (模板)高精度算法
下一篇: Codeforces Educational Codeforces Round 41
HumveeA6
博客等级 码龄17年 12粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值