Asgard King(埃氏筛法)

2023-11-18

Description

Thor had great power, but his arrogant and reckless behavior set off an ancient war, and he was demoted into the world as punishment, forced to live with human beings, and finally Thor learned to become a superhero, and Thor's home in Asgard. 
Asgard is said to be separated from Midgard in the human world. However, some early researchers pointed out that Asgard was probably a famous castle and was mistaken for the realm of God. 
    Asgard is the home of the avenger Thor, the God of thunder, where technology is advanced and even the king is a smart person. Now the king is making plans for the next king. At the suggestion of ACMer, the king asked a question. There are N places in Asgard, and each place has its corresponding number Ai. Now the King wants the candidates to sort these numbers, and the ranking is from small to large according to the number of factors in each number. When the number of factors is the same, the number is sorted according to the size of the number, and the final K element can be output. 

Input

The first line input two positive integers N, K(1 <= k <= N <= 1e6) 
The second line input N positive integers a[i] (a[i] <= 1e6) 

Output

Output number K in the array.

 

 

Sample Input

3  1

4 6 9

Sample Output

4

 

题意:给你N个数,然后按照每个数的因子个数进行排序(从小到大),如果因子个数相同,则按照实际值的大小排序;

由于:需要找每个数的因子个数,所以一开始我想到了用欧拉筛加唯一分解定理进行预处理,没有算好时间,超时了。最后想了一下,确实会超时。最后让我很无奈。还是太菜了。经过大佬的讲解,我去看一下埃氏筛。

我觉得就是欧拉筛的简化般,标记的倍数,没标记一次,因子个数就加1;

举例:

1 2 3 4 5 6 7 8 9

第一次 标记以1为因子的数:vis[1*1]++  vis[1*2]++  vis[1*3]++ ........

第二次标记以2为因子的数:vis[2*1]++  vis[2*2]++  vis[2*3]++  ........

第三次标记以3为因子的数: vis[3*1]++  vis[3*2]++  vis[3*3]++ .......

............

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int maxn=1e6+5;
int ans[maxn];
int vis[maxn];
void init()
{
    for(int i=1;i<=maxn;i++)
        for(int j=1;i*j<maxn;j++)
                ans[i*j]++;
}
struct node
{
    int x,y;
}mm[maxn];
int  cmb(node fx,node fy)
{
    if(fx.y==fy.y)
        {
            return fx.x<fy.x;
        }
        else
        {
           return fx.y<fy.y;
        }
}
int main()
{
   init();
    int N,K,xx;
    cin>>N>>K;
    for(int i=1;i<=N;i++)
    {
        cin>>xx;
       mm[i].x=xx;
       mm[i].y=ans[xx];///因子个数
    }
    sort(mm+1,mm+N+1,cmb);
    cout<<mm[K].x;
    return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Asgard King(埃氏筛法) 的相关文章

  • 启动arbiter失败Oplog entry at { ts: Timestamp 1651735515000

    mongodb版本是 mongodb linux x86 64 3 4 2 tgz 操作系统 中标麒麟服务器版 问题 查看日志 日志里面提示 2022 05 06T14 27 50 862 0800 I REPL initandlisten
  • SUSAN边缘检测算法,及其Matlab和OpenCV实现

    1 SUSAN边缘检测计算步骤 1 在图像上放置一个37个像素的圆形模板 模板在图像上滑动 依次比较模板内各个像素点的灰度与模板核的灰度 判断是否属于USAN区域 判别函数如下 其中 r 0 vec r 0 r
  • 解决移动端shader找不到问题

    在Unity里面 编辑器特效正常 移动端特效无效 adb输出是找不到shader 打开Graphics面板 把找不到的shader添加进去
  • [python] 下载天地图切片地图

    下载xyz地图 资源 下列为常用xyz路由地址 为了避免图片中出现文字标注 道路名称 建筑物名称等 本文选择天地图tian vec 作为获取资源对象 var mapUrl 高德地图 lang可以通过zh cn设置中文 en设置英文 size
  • RNN详解及BPTT详解

    转自 https blog csdn net zhaojc1995 article details 80572098 本文部分参考和摘录了以下文章 在此由衷感谢以下作者的分享 https zhuanlan zhihu com p 28054
  • Android系统system用户权限和root权限的获取

    在Android系统中 系统为每一个应用程序 apk 创建了一个用户和组 这个用户和组都是受限用户 不能访问系统的数据 只能访问自己的文件和目录 当然它也不能访问其他应用程序的数据 这样设计可以尽可能地保护应用程序的私有数据 增强系统的安全
  • 华为校招机试题-寻找链表的中间结点-2023年

    题目描述 给定一个单链表 L 请编写程序输出 L 中间结点保存的数据 如果有两个中间结点 则输出第二个中间结点保存的数据 例如 给定 L 为 1 7 5 则输出应该为 7 给定 L 为 1 2 3 4 则输出应该为 3 输入描述 每个输入包
  • echart - 圆角环形图 -模板

    一 最近遇到圆角环形图的需求 搞了半天 才找到一个合适的模板 在这里就分享给大家 希望对有需求的小伙伴有所帮助 废话不多说 先贴效果图 然后再贴源码 tip 大家记得要引入一下echart js的文件啊 这样才可以显示出来 路径记得找的要对
  • QT QLabel样式设置

    需要设置error的样式 设置样式 color rgb 255 0 0 font size 12pt font family Microsoft YaHei 字体 颜色也可通过富文本设置在程序中设置 emit LoginError QStr
  • 一文带你了解如何编写自动化测试用例

    自动化测试脚本 什么是自动化测试 自动化测试是验证和验证软件是否满足所有用户需求 并使用自动化工具按预期运行 它检查在产品开发阶段期间和之后出现的错误 问题和其他类型的缺陷 这种类型的软件测试运行在由测试工具处理的编程脚本上 有多种测试工具
  • 关于rider引入使用nuget无法加载包的解决方式

    关于rider引入使用nuget无法加载包的解决方式 这个问题已经是困扰我三天了 因为C 使用rider开发的人相对较少 也可能是我自身遇到这个问题比较特殊 终于找到了nuget无法引入包的解决方案 首先看图 我在Nuget下面查找Nuni
  • 蓝桥杯基础练习VIP——矩阵乘法——快速幂

    题目https www dotcpp com oj problem1472 html 1 普通做法 循环嵌套 n m list map int input split mat for i in range n row list map in
  • uniapp 仿网易云音乐播放器 微信小程序

    效果视频 uniapp 仿照网易云播放器功能 效果截图 上代码
  • pxe无盘服务器教程,[教程]Synology+PXE挂载iSCSI网络无盘启动Win7(08.04更新)

    本帖最后由 shuaiking 于 2020 5 16 09 32 编辑 前言 之前发了一篇关于 synology部署无盘win7的帖子https www chiphell com thread 823492 1 1 html 教程本想找个
  • Android Studio 从安装到第一个Android 应用Demo

    安装Android Studio 安装需要 上网 我这挺顺利的 就是在官网下载安装包 一路 Next 大概连下载总共半个小时 第一个应用 参考官方教程 https developer android com codelabs basic a
  • 智能指针的deleter机制

    一 介绍 智能指针的deleter机制是指 当智能指针的引用计数降为0时 智能指针会自动调用一个指定的析构函数 deleter 来释放所管理的内存 这个析构函数通常是一个函数对象 可以是一个函数指针 一个lambda表达式或者一个重载了函数
  • 基于模型的六轴机器人阻抗力控制算法(matlab simscape,机器人模型可换)

    基于模型的六轴机器人阻抗力控制算法 matlab simscape 机器人模型可换 视频中红色为期望轨迹 黑色为实际轨迹 工程可一键运行 可学到机器人阻抗力控制算法以及通过m文件设置simulink参数及调用simulink的方法 ID 4
  • FutureWarning: Criterion ‘mse‘ was deprecated in v1.0 and will be removed in version 1.2.

    出现FutureWarning Criterion mse was deprecated in v1 0 and will be removed in version 1 2 Use criterion squared error whic
  • c++如何按照空格分割字符串

    我们经常会需要在txt文本或csv中提取字符串 例如 调用了一次readline 之后 我们得到了如下一行string id 1 name 345 size 728 632 value 3 1415926 我们想把这行字符串按照空格进行分割

随机推荐

  • 【TypeScript】断言

    目录 概念 用法 实例 总结 概念 TypeScript类型断言是一个编译时语法 用于告诉编译器用户比编译器更加确定变量的类型 进而解除编译错误 类型断言有点类似于其他语言的类型转换 但它没有运行时的影响 只是在编译阶段起作用 所以 即使通
  • 树莓派下opencv3.4.0的安装与错误处理

    1 opencv3 4 0的下载 1 可以在树莓派的终端界面通过wegt命令下载 但下载速度可能很慢 终端输入下列代码进行下载 cd home pi Downloads wget https github com Itseez opencv
  • 【ElementUI组件】视频上传+计算视频时长

    效果如下 实现步骤 1 首先先安装官网的操作步骤安装elementui 或者 不安装直接引入 安装指令 npm i element ui S 引入方式 2 以下是参考代码 HTML代码 div div
  • 内网端口转发及穿透-

    转 内网端口转发及穿透 最近尝试了一些内网端口的转发和内网穿透 现在一起总结一下 0x01 正向和反向代理 正向代理中 proxy和client同属一个LAN 对server透明 反向代理中 proxy和server同属一个LAN 对cli
  • 执行npm install 时报错 Host key verification failed

    问题 安装依赖的时候出现Host key verification failed问题 整理了一下解决流程 1 要在git设置一下身份的名字和邮箱 git config global user name yourname gt 用户名 git
  • Unity中自定义协程函数

    Unity中提供了协程的方法 在处理一些需要异步的函数时非常方便 尤其是在处理网络请求响应的时候 但是协程函数有些时候需要自定义 这就需要自己实现满足条件的协程函数了 好在Unity提供了这样的类来帮助我们实现相关的功能 通过继承Custo
  • Springboot2.0中webflux到底优秀在哪里

    Spring boot webflux中所说的反应堆式编程reactor到底优秀在哪里 小编的Springboot2 0的课程已经快全部写完了 总结来看 对于有基础的同学学习难度不是很大 一周内就能上手 但是在小编看来编程如果说只会用 而不
  • 记一次wwwscan目录扫描后获取敏感目录登录后台

    1 开启wwwscan工具 2 配置信息 目标域名不要带协议头 直接www xxx com或者192 168 67 xxx 3 点击 扫描 等待扫描之后会在wwwscan的同级目录下生成结果文件 4 打开第三个文件 5 点击访问 说明 tx
  • [机器学习与scikit-learn-31]:算法-回归-线性模拟拟合拟合非线性数据-概述

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 123555129 目录 第1章 什么是
  • 进程和线程的详解和区别

    1 进程和线程概述 我们都知道计算机的核心是CPU 它承担了所有的计算任务 而操作系统是计算机的管理者 它负责任务的调度 资源的分配和管理 统领整个计算机硬件 应用程序是具有某种功能的程序 程序是运行于操作系统之上的 2 进程 我们编写的代
  • 交直流双电源无缝切换

    使用ATmega32编写交直流双电源无缝切换 输入过欠压保护 输出过流保护 主要使用了单片机自带的比较器功能 比较器的一端使用了LT431制作的2 5V基准源 include iom32v h define WDR asm WDR defi
  • 尚硅谷nodejs操作mongodb报错,MongoNotConnectedError: Client must be connected before running operations【已解决】

    1 准备好第一步的静态案例 2 启动mongodb服务 在cmd运行mongod Waiting for connections attr port 27017 ssl off 3 准备mongoose数据库模块化 4 新建AccountM
  • this.$el.querySelectorAll is not a function报错解决

    问题描述 使用el tree时 报错this el querySelectorAll is not a function 导致树无法渲染 问题解析 参考如下代码片段
  • [激光原理与应用-66]:激光器-器件 - 二极管

    第1章 二级管的基本原理 1 1 原理 现在的电子产品中 元件应用最多的是半导体材料 在集成电路中 也是应用的半导体单晶硅作为基底 通过离子注入技术而添加了硼和磷元素从而构成数以亿计的半导体晶体管 对于半导体元件来说 发挥作用的是PN结 在
  • 5G/NR 随机接入过程之Msg2

    21 6 Msg2 UE发送了preamble之后 将在RAR时间窗 RA Response window 内监听PDCCH 以接收对应RA RNTI的RAR 此时不考虑可能出现的测量gap 如果在RAR时间窗内没有接收到gNB回复的RAR
  • RPA经验分享--离线识别普通验证码

    了解RPA www i search com cn 学习RPA https support i search com cn 下载RPA https www i search com cn from csdn 前言 以下方法适用于简易的验证码
  • 【Linux】进程控制2-进程等待

    文章目录 进程等待 进程等待的必要性 wait函数 waitpid函数 进程等待 进程等待的必要性 我们之前提到过僵尸进程 僵尸进程就是子进程先于父进程退出 子进程的退出状态信息发送给父进程但是父进程忽略处理 子进程就变成了僵尸进程 解决僵
  • programming massively parrellel processors(1)

    I have to say this is a very good book to learn more about cuda especially for a novice like me who take interest in par
  • 入职字节两个月,实在卷不动,还是离职了

    对自己收入不满意 就看下自己每天做了什么 把每天记录下来 看下自己的时间都用在哪里了 对自己的时间分配搞清楚了 就可以着手去改进 如果一直糊涂的过 时间到了报复就来了 时间管理很简单 不过大多数人是不会重视的 别总抱怨自己赚钱少 关键你做了
  • Asgard King(埃氏筛法)

    Description Thor had great power but his arrogant and reckless behavior set off an ancient war and he was demoted into t