首页 > 其他分享 >Not Adding (CF2D) (基底转化,两两操作->多个操作,+)

Not Adding (CF2D) (基底转化,两两操作->多个操作,+)

时间:2023-02-20 12:45:04浏览次数:42  
标签:Adding gcd int ri 转化 基底 操作 CF2D

 

 思路:

  • 题目信息: 转化: 选出子序列求一个gcd, 很关键
  • 基底转化: 枚举1-1e6的数, 看能不能产生这个数, 
  • 在利用那个那个的性质即可, 贪心让所有合理的数gcd起来是不是1
#include <bits/stdc++.h>
using namespace std;
#define M 2000005
#define ri int 

int n,m;
int T;
int p[M];
int flag[M];
int gcd(int a,int b)
{
    if(a<b) swap(a,b);
    if(a%b==0) return b;
    return gcd(b,a%b);
}
int qu[M];
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);

    cin>>n;
    for(ri i=1;i<=n;i++)
    {
        cin>>p[i];
        flag[p[i]]=1;
    }
    int ans=0;
    for(ri i=1;i<=1e6;i++)
    {
        int tmp=0,r=0;
        if(flag[i]) continue ;
        for(ri j=2;j<=1e6&&i*j<=1e6;j++)
        {
            if(flag[i*j])
            {
                if(r==0) tmp=j,r++;
                else tmp=gcd(tmp,j);
                if(tmp==1)
                {
                    ans++;
                    break;
                }
            }
        }
        
    }
    cout<<ans;
    return 0;

}
View Code

 

标签:Adding,gcd,int,ri,转化,基底,操作,CF2D
From: https://www.cnblogs.com/Lamboofhome/p/17136928.html

相关文章

  • 00022.07 文件的IO操作(用FileReader读取、FileWriter 写入纯文本文件)
    文件的IO操作目录文章目录​​文件的IO操作目录​​​​前言​​​​一、读取一个纯文本文件​​​​二、使用步骤​​​​1、读取纯文本文件​​​​2、写入纯文本文件​​......
  • ubuntu10.04相关操作
    更新软件源:sudonano/etc/apt/sources.listdebhttp://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/lucidmainrestricteduniversemultiversedebhttp://mirr......
  • notepad++行头行尾批量添加内容操作
    行头光标放在行首或全选快捷键Alt+C,然后输入内容就可以了   行尾第一种方法:光标放在行尾快捷键Alt+C,然后输入内容就可以了。但是每行数据不对齐的话会出现以下......
  • php FTP操作类( 拷贝、移动、删除文件/创建目录 )
     <?phpnamespaceftp;/***作用:FTP操作类(拷贝、移动、删除文件/创建目录)*/classftp{public$off;//返回操作状态(成功/失败)public......
  • 操作系统高级教程期末思考题
    19年期末复习题1.为什么开始启动计算机的时候,执行的是BIOS代码而不是操作系统自身的代码?最开始启动计算机的时候,计算机内存未初始化,没有任何程序。而因为CPU只能读取内存......
  • 10. 操作系统和Linux
    进程和线程的区别线程是进程划分成的更小的运行单位,一个进程在其执行的过程中可以产生多个线程。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同......
  • MFC-鼠标相关操作
            ......
  • 14、卷积操作
    1、卷积层 ConvolutionLayers 输入图像上的数字代表该像素点上的颜色显示。 卷积操作:就是输入图像的二维矩阵和卷积核矩阵做乘法运算;对应位相乘然后加在一......
  • 10 分钟 学会 手写一个 简单的 Babel 插件 操作AST 语法树
    学习的背景(为啥要写一个Babel插件呢?)es6是如何转换为es5的?什么是AST语法树呢,怎样对一个AST树的节点进行增删改查呢?为啥之前jsx需要手动导入react,现在......
  • Java 如何通过JDBC 操作数据库
    JDBC是Java数据库连接,即JavaDataBaseConnectivity。JDBC可让Java通过程序操作关系型数据库,可基于驱动程序实现与数据库的连接与操作。JDBC有统一的API,提供一致的......