大家一起做训练 第一场 E Number With The Given Amount Of Divisors
题目来源:CodeForce #27 E
题目意思和题目标题一样,给一个n,求约数的个数恰好为n个的最小的数。保证答案在1018内。
Orz,这题训练的时候没写出来。
这道题目分析一下,1018的不大,比264要小,所以这题可以枚举。
一个数 A 可以分解成 p1k1 * p2k2 * …… * pnkn 其中p为素数。这样分解之后,A的因子个数
S = (k1+1) *( k2+1) * …… *( kn+1)
然后用dfs枚举 + 剪枝。
剪枝的话大于现有结果return。就这样就能AC了。
附AC代码(手残,勿喷):
1: #include <iostream>
2: #include <cstdio>
3: #include <cmath>
4: #include <cstdlib>
5: #define LL __int64
6: using namespace std;
7:
8: const LL MAX = 1e18 + 9;
9: const LL p[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31};
10: LL res;
11:
12: void dfs(LL now, LL num, LL x, LL n)
13: {
14: if (num > n) return;
15: if (num == n && res > now)
16: {
17: res = now;
18: return ;
19: }
20: for (int i = 1; i <= 64; i++)
21: if (now * p[x] > res)
22: break;
23: else
24: dfs(now *= p[x], num * (i+1), x+1, n);
25: }
26:
27: int main()
28: {
29: int n;
30: while(~scanf("%d", &n))
31: {
32: res = MAX;
33: dfs(1, 1, 0, n);
34: printf("%I64d\n", res);
35: }
36: }
大家一起做训练 第一场 E Number With The Given Amount Of Divisors的更多相关文章
- 大家一起做训练 第一场 B Tournament
题目来源:CodeForce #27 B 有n个人比赛,两两之间都有一场比赛,一共 n * (n - 1) / 2 场比赛.每场比赛的记录方式是 a b,表示在a和b的比赛中,a胜出,b失败. 经过研 ...
- 大家一起做训练 第一场 G CD
题目来源:UVA 624 题目的意思就是:我现在需要从 t 张CD中拿出一部分来,尽可能的凑出接近 N 这么久的音乐,但是不能超过 N. CD不超过20张,每张长度不超过 N ,不能重复选. 一个很简 ...
- 大家一起做训练 第一场 A Next Test
题目来源:CodeForce #27 A 题目的意思简而言之就是要你输出一个没有出现过的最小的正整数. 题意如此简单明了,做法也很明了. 直接读入所有的数,然后排个序,设置个变量从1开始,出现过+1, ...
- codeforces 27E Number With The Given Amount Of Divisors
E. Number With The Given Amount Of Divisors time limit per test 2 seconds memory limit per test 256 ...
- Codeforces Beta Round #27 (Codeforces format, Div. 2) E. Number With The Given Amount Of Divisors 反素数
E. Number With The Given Amount Of Divisors time limit per test 2 seconds memory limit per test 256 ...
- E. Number With The Given Amount Of Divisors
E. Number With The Given Amount Of Divisors time limit per test 2 seconds memory limit per test 256 ...
- Gym-101653:acific Northwest Regional Contest (2019训练第一场)
本套题没有什么数据结构题,图论题,唯一有价值的就是Q题博弈,在最后面,读者可以直接拉到最下面. (还剩下两个,估计每什么价值的题,懒得补了 M .Polyhedra pro:欧拉公式,V-E+F=2: ...
- 大家一起做训练 第二场 E Cottage Village
题目来源:CodeForce #15 A 现在有 n 间正方形的房子,其中心点分布在 X轴 上,现在我需要新建一间边长为 t 的房子,要求新房子至少和一间房子相邻,但是不能和其他房子重合.请输出我有多 ...
- 牛客网多校训练第一场 I - Substring(后缀数组 + 重复处理)
链接: https://www.nowcoder.com/acm/contest/139/I 题意: 给出一个n(1≤n≤5e4)个字符的字符串s(si ∈ {a,b,c}),求最多可以从n*(n+1 ...
随机推荐
- apktool 打包解包apk的总结
1) 不需要另外下载 baksmali-2.1.2.jar, apktool.jar 好像都包含了. apktool d zhanqi.xxx.apk -o zhanqi 2) smalidea-0. ...
- [转] jquery $.ajax/$(document).ready is not a function的问题
下午完成了一个模块功能的开发,本来测试好的jquery表单验证怎么也出不来了.打开firebug,看到控制台里赫然提示:$(document).ready is not a function.感觉怪怪 ...
- [.NET开发] C#实现发送手机验证码功能
之前不怎么了解这个,一直以为做起来很复杂. 直到前两天公司要求要做这个功能. 做了之后才发现 这不过就是一个POST请求就能实现的东西.现在给大家分享一下,有不足之处还请多多指教. 废话不多说 直接上 ...
- jenkins+python+kubectl实现批量更新k8s镜像
一.jenkins使用官方镜像(官方镜像默认是jenkins用户,权限太低) 因此通过dockerfile重新改为root启动 FROM jenkins/jenkins:lts MAINTAINER ...
- echatrs可视化图在隐藏后显示不出来或是宽度出现问题
最近在做一个可视化的项目,用了百度的ECharts.js作为可视化的视图框架,echarts的实例很多,基本能满足项目的需求,而且文档也相对完整.清晰,是个很不错的前端可视化框架. 我们的项目是使用b ...
- FZU 2124 吃豆人 bfs
题目链接:吃豆人 比赛的时候写的bfs,纠结要不要有vis数组设置已被访问,没有的话死循环,有的话就不一定是最优解了.[此时先到的不一定就是时间最短的.]于是换dfs,WA. 赛后写了个炒鸡聪明的df ...
- 通过url获取参数信息
运行结果如下: <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <ti ...
- 安装淘宝cnpm镜像
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
- Kafka消费者APi
Kafka客户端从集群中消费消息,并透明地处理kafka集群中出现故障服务器,透明地调节适应集群中变化的数据分区.也和服务器交互,平衡均衡消费者. public class KafkaConsumer ...
- git 添加review的相关操作
git主机上涉及到的操作: 185 git branch 186 git pull 187 git branch 188 git checkout -b wangcheng 189 git log 1 ...