hdu3189-Just Do It-(埃氏筛+唯一分解定理)
Just Do It
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1552 Accepted Submission(s):
1036
of x. In particular, F(1) = 1,since 1 only has 1 factor 1, F(9) = 3, since 9 has
3 factors 1, 3, 9. Now give you an integer k, please find out the minimum number
x that makes F(x) = k.
of test cases.
The follows t lines, each line contains an integer k. (0 <
k <= 100).
If x is larger than 1000, just output -1.
4
2
5
92
2
16
-1
- #include<stdio.h>
- #include<math.h>
- #include<string.h>
- #include<algorithm>
- #include<string>
- #include<vector>
- #include<iostream>
- #include<cstring>
- #define inf 0x3f3f3f3f
- using namespace std;
- #define ll long long
- const int maxx=1e6+;
- int cnt[maxx];///下标是自然数,内容是这个自然数有多少个因子
- int ans[maxx];///下标是因子数,内容是含有这么多因子数最小是哪个数
- void init()//埃氏筛打表
- {
- memset(ans,-,sizeof(ans));
- memset(cnt,,sizeof(cnt));
- for(int i=;i<maxx;i++)
- {
- for(int j=i;j<maxx;j=j+i)
- {
- cnt[j]++;
- }
- if( ans[ cnt[i] ]==- )///i从1开始,越变越大,因子数也会越来越多
- ans[ cnt[i] ]=i;///ans的下标 第一次遇见 没有遇见过的因子数目,就把i传进去,此时的i最小
- }
- }
- int main()///hdu3189
- {
- init();
- int t;
- scanf("%d",&t);
- while(t--)
- {
- int n;
- scanf("%d",&n);
- if(ans[n]>)
- printf("-1\n");
- else
- printf("%d\n",ans[n]);
- }
- return ;
- }
hdu3189-Just Do It-(埃氏筛+唯一分解定理)的更多相关文章
- hdu1215-七夕节-(埃氏筛+唯一分解定理)
七夕节 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- CodeForces - 385C Bear and Prime Numbers (埃氏筛的美妙用法)
Recently, the bear started studying data structures and faced the following problem. You are given a ...
- cf1154G 埃氏筛应用
直接用埃氏筛也可以做,但是这题写起来有点恶臭.. 更加简单的写法是直接枚举gcd=k,然后里面再枚举一次i*k,即找到k两个最小的倍数,看起来复杂度很高,但其实也是埃氏筛的复杂度 因为每次枚举gcd, ...
- 「CF779B」「LOJ#10201.」「一本通 6.2 练习 4」Sherlock and His Girlfriend(埃氏筛
题目描述 原题来自:Codeforces Round #400 B. Sherlock 有了一个新女友(这太不像他了!).情人节到了,他想送给女友一些珠宝当做礼物. 他买了 nnn 件珠宝.第 iii ...
- [JXOI 2018] 游戏 解题报告 (组合数+埃氏筛)
interlinkage: https://www.luogu.org/problemnew/show/P4562 description: solution: 注意到$l=1$的时候,$t(p)$就 ...
- 埃氏筛优化(速度堪比欧拉筛) + 洛谷 P3383 线性筛素数 题解
我们一般写的埃氏筛消耗的时间都是欧拉筛的三倍,但是欧拉筛并不好想(对于我这种蒟蒻) 虽然 -- 我 -- 也可以背过模板,但是写个不会的欧拉筛不如写个简单易懂的埃氏筛 于是就有了优化 这个优化还是比较 ...
- 埃氏筛+线段树——cf731F
从2e5-1依次枚举每个数作为主显卡,然后分段求比它大的数的个数,这里的复杂度是调和级数ln2e5,即埃氏筛的复杂度.. #include<bits/stdc++.h> using nam ...
- 数论(8):min_25 筛(扩展埃氏筛)
min_25 筛介绍 我们考虑这样一个问题. \[ans=\sum_{i = 1}^nf(i)\\ \] 其中 \(1 \le n \le 10^{10}\) 其中 \(f(i)\) 是一个奇怪的函数 ...
- U138097 小鱼吃大鱼 埃氏筛
题目描述 小P同学在养殖一种非常凶狠的鱼,而且与其他鱼类不同,这种鱼越大越温顺,反而小鱼最凶残.当两条鱼相遇时, 小鱼会不断撕咬大鱼,每一口都咬下与它自身等重的肉(小鱼保持体重不变),直到大鱼的体重小 ...
随机推荐
- 关于微信小程序更新内容后手机上不能及时显示的办法
这几天一直在做微信小程序的二次开发,每天都要发布程序,但是发布之后微信上查看小程序和以前的一模一样,丝毫没有改变,但是我再本地上却改变了,而且没有开的不校验合法域名那个.这是为啥呢????? 这是跟小 ...
- 认识下java注解的实现原理
1,什么是注解 注解也叫元数据,例如常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包.类.接口.字段.方法参数.局部变量等进行注 ...
- Error: 实例 "ddd" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 6f60bc06-fcb6-4758-a46f-22120ca35a71.].
Error: 实例 "ddd" 执行所请求操作失败,实例处于错误状态.: 请稍后再试 [错误: Exceeded maximum number of retries. Exhaus ...
- JMeter做http接口功能测试
1. 普通的以key-value传参的get请求 e.g. 获取用户信息 添加http请求:填写服务器域名或IP:方法选GET:填写路径:添加参数:运行并查看结果. 2. 以Json串传参的post请 ...
- 转载:明明白白VC LIB和DLL的使用
转载来自:http://dpinglee.blog.163.com/blog/static/1440977532016316813889/ 1.加载lib/头文件 分两种方法: (1)适用于当前项目 ...
- django之ReverseOneToOneDescriptor
class ReverseOneToOneDescriptor(object): """ Accessor to the related object on the re ...
- keepalived nginx 双机热备图文讲解
http://blog.csdn.net/wanglei_storage/article/details/51175418
- kubernetes发布tomcat服务,通过deployment,service布署
1.制作tomcat镜像 参考docker tomcat镜像制作 此处直接拉取 查看已有可镜像 先设置docker阿里源,即添加 "registry-mirrors": [&quo ...
- [记录] 解决img的1px空白问题
第一种解决方案:把img变成块元素:display:block: 第二种解决方案:修改一下它的垂直对齐方式:vertical-align:middle: 第三种解决方案:使用浮动,让他漂浮起来:flo ...
- day28-面相对象的特殊成员、内置函数
1. isinstance与issubclass 1.1.isinstance(obj,cls) 检查obj是否是类cls的对象,或者是类cls的子类的对象 class A: pass class B ...