题目链接:点击查看

题目大意:设 d(n)d(n)d(n) 为 nnn 的约束和,更具体的,d(n)=∑k∣nkd(n)=\sum_{k|n}kd(n)=∑k∣n​k

现在有 mmm 次询问,每次给出一个 ccc ,需要回答满足 d(n)=cd(n)=cd(n)=c 的最小 nnn

题目分析:预处理一下就可以了,屯一个 O(n)O(n)O(n) 求因子和的板子

代码:

// Problem: G. Short Task
// Contest: Codeforces - Codeforces Round #713 (Div. 3)
// URL: https://codeforces.com/contest/1512/problem/G
// Memory Limit: 512 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)// #pragma GCC optimize(2)
// #pragma GCC optimize("Ofast","inline","-ffast-math")
// #pragma GCC target("avx,sse2,sse3,sse4,mmx")
#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<cassert>
#include<bitset>
#include<list>
#include<unordered_map>
#define lowbit(x) x&-x
using namespace std;
typedef long long LL;
typedef unsigned long long ull;
template<typename T>
inline void read(T &x)
{T f=1;x=0;char ch=getchar();while(0==isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(0!=isdigit(ch)) x=(x<<1)+(x<<3)+ch-'0',ch=getchar();x*=f;
}
template<typename T>
inline void write(T x)
{if(x<0){x=~(x-1);putchar('-');}if(x>9)write(x/10);putchar(x%10+'0');
}
const int inf=0x3f3f3f3f;
const int N=1e7+100;
int pri[N],psum[N],sum[N],cnt;
bool vis[N];
int ans[N];
void P() {sum[1]=1;for(int i=2;i<N;i++) {if(!vis[i]) {pri[cnt++]=i;psum[i]=sum[i]=i+1;}for(int j=0;j<cnt&&pri[j]*i<N;j++) {vis[i*pri[j]]=true;if(i%pri[j]==0) {psum[i*pri[j]]=psum[i]*pri[j]+1;sum[i*pri[j]]=sum[i]/psum[i]*psum[i*pri[j]];break;}psum[i*pri[j]]=pri[j]+1;sum[i*pri[j]]=sum[i]*psum[i*pri[j]];}}
}
int main()
{#ifndef ONLINE_JUDGE
//  freopen("data.in.txt","r",stdin);
//  freopen("data.out.txt","w",stdout);
#endif
//  ios::sync_with_stdio(false);P();memset(ans,inf,sizeof(ans));for(int i=1;i<N;i++) {if(sum[i]<N) {ans[sum[i]]=min(ans[sum[i]],i);           }}int w;cin>>w;while(w--) {int n;read(n);printf("%d\n",ans[n]==inf?-1:ans[n]);}return 0;
}

CodeForces - 1512G Short Task(欧拉筛求因子和)相关推荐

  1. 7809 - 试题J:因数个数 25'(欧拉筛法求因子个数)

    链接:http://oj.hzjingma.com/p/7809?view=classic 来源:竞码编程 题目描述   求所有 2 2 2 到 n n n 的整数中,因数个数第 k k k 少的数因 ...

  2. 牛客 华华给月月出题 (积性函数+欧拉筛+快速幂)

    题目描述 华华刚刚帮月月完成了作业.为了展示自己的学习水平之高超,华华还给月月出了一道类似的题: ⊕符号表示异或和,详见样例解释. 虽然月月写了个程序暴力的算出了答案,但是为了确保自己的答案没有错,希 ...

  3. Enlarge GCD CodeForces - 1034A(欧拉筛+最大公约数)

    题意: 给出n个数,删去其中一些使得总的gcd(最大公约数)最大 题目: Mr. F has n positive integers, a1,a2,-,an. He thinks the greate ...

  4. 欧拉筛+埃式筛求素数

    参考:https://blog.csdn.net/nk_test/article/details/46242401 先看一下经典的埃拉特斯特尼筛法: 1 int prime[MAXN],vis[MAX ...

  5. 欧拉筛 筛法求素数 及其例题 时间复杂度O(n)

    埃式筛法尽管不错,但是确实做了许多无用功,某个数可能会被重复的筛好几次,欧拉筛解决了这个方法,下面为代码: 注意理解if(i%prim[j]==0) break; 大佬讲的不错的博客,我就不做复读机了 ...

  6. cf 1062d 思维 欧拉筛变形

    http://codeforces.com/contest/1062/problem/D 题意:给个n ,在n之内 所有(a,b) ,如果存在唯一的x 使a*|x| == b 或者 b* |x| == ...

  7. 埃氏筛 线性筛(欧拉筛) 算法解析

    埃氏晒 埃拉托斯特尼筛法,简称埃氏晒,是一种用来求自然数n以内的全部素数. 他的基本原理是,如果我们要获得小于n的所有素数,那就把不大于根号n的所有素数的倍数剔除. 埃氏晒的原理很容易理解,一个合数, ...

  8. 素数的线性筛法java,埃氏筛 线性筛(欧拉筛) 算法解析

    埃氏晒 埃拉托斯特尼筛法,简称埃氏晒,是一种用来求自然数n以内的全部素数. 他的基本原理是,如果我们要获得小于n的所有素数,那就把不大于根号n的所有素数的倍数剔除. 埃氏晒的原理很容易理解,一个合数, ...

  9. 欧拉筛(bzoj 2818: Gcd)

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 6707  Solved: 2952 [Submit][Status][Discu ...

最新文章

  1. CCleaner v5.55.7108 发布,新增软件升级功能
  2. windows下获取柱面、扇区数,扇区大小
  3. mysql修改表引擎Engine
  4. 在Linux系统安装Nodejs 最简单步骤
  5. Java之String,StringBuffer,StringBuilder
  6. PHP超实用的函数总结整理
  7. JS判断当前的浏览器类型
  8. 2017年关于数据科学的六大预言
  9. 无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
  10. SAP Spartacus i18n 的文本,和翻译相关的话题:internationalization
  11. 神经网络算法学习---mini-batch++++mini-batch和batch的区别
  12. java如何实现信号量_使用二进制信号量实现通用信号量
  13. [010]Try块和异常处理
  14. window下 php debug 的安装
  15. oracle上机题库_Oracle OCP认证考试IZ0-053题库共712题数据库(带中文解析)
  16. 【网络工程】2、eNSP工具下载与安装
  17. oracle数据库报12514,Oracle数据库ORA-12514错误的解决办法
  18. 电机位置、速度检测方法大合集
  19. Python:PDF转PNG(6行代码搞定)
  20. 表结构设计器EZDML常见问题(2019年11月整理)

热门文章

  1. php printf 0.2f,php printf()
  2. 轻量级锁的加锁和解锁逻辑
  3. Elastic-Job配置步骤
  4. 常用的函数式接口_Predicate接口
  5. Hive的基本操作-创建内部表
  6. 字节输入流一次读取多个字节
  7. php递归复制文件内容,PHP递归复制整个文件夹
  8. php面向对象项目,PHP的面向对象编程:开发大型PHP项目的方法(一)
  9. linux svn配置教程,linux svn搭建及配置
  10. 200718C语言及C程序概念