hihoCoder 1187
今天BC爆0了。。。。但是日子还是要过的。。。。要回学校毕业了~~大学就这么“荒废”了。
这个是hihoCoder的1187,比较基础的一道题。
题目链接:
http://hihocoder.com/problemset/problem/1187
首先我们想,任何一个数可以质因数分解,且分解的方法唯一。
n = (p1 ^ k1) * (p2 ^ k2) * .... * (ps ^ ks)
约数(n) = (k1+1)*(k2+1)*(k3+1)* .... *(ks+1)
那么剩下的问题就简单了,贪心,显然在约数个数相同的情况下,pi越小越好。
暴力枚举ki,pi显然不用搜太多,目测搜到43就绰绰有余了。
ki搜到60即可,不放行的话,还可以参考线这个优化,k1 >= k2 >= ... >= ki。
证明不复杂~~
代码:
#include <bits/stdc++.h> using namespace std;
typedef long long int64;
int64 prim[] = {, , , , , , , , , , , , , }; int64 ans, Max;
int64 n; void dfs( int id, int pre_cnt, int64 num, int64 res ){
if( res > Max ){
ans = num;
Max = res;
}else if( res == Max ){
ans = min( ans, num );
} int64 tmp = ;
for( int i = ; i <= ; ++i ){
tmp *= prim[id];
if( num * tmp > n )
return;
dfs( id+, i, num*tmp, res*(i+) );
}
} int main(void){
while(cin >> n){
ans = , Max = ; int64 tmp = ;
for( int i = ; i <= ; ++i ){
tmp *= prim[];
if( tmp <= n )
dfs( , i, tmp, i+ );
} printf("%lld\n", ans);
} return ;
}
hihoCoder 1187的更多相关文章
- hihocoder -1121-二分图的判定
hihocoder -1121-二分图的判定 1121 : 二分图一•二分图判定 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 大家好,我是小Hi和小Ho的小伙伴Net ...
- Hihocoder 太阁最新面经算法竞赛18
Hihocoder 太阁最新面经算法竞赛18 source: https://hihocoder.com/contest/hihointerview27/problems 题目1 : Big Plus ...
- hihoCoder太阁最新面经算法竞赛15
hihoCoder太阁最新面经算法竞赛15 Link: http://hihocoder.com/contest/hihointerview24 题目1 : Boarding Passes 时间限制: ...
- 【hihoCoder 1454】【hiho挑战赛25】【坑】Rikka with Tree II
http://hihocoder.com/problemset/problem/1454 调了好长时间,谜之WA... 等我以后学好dp再来看为什么吧,先弃坑(╯‵□′)╯︵┻━┻ #include& ...
- 【hihocoder#1413】Rikka with String 后缀自动机 + 差分
搞了一上午+接近一下午这个题,然后被屠了个稀烂,默默仰慕一晚上学会SAM的以及半天4道SAM的hxy大爷. 题目链接:http://hihocoder.com/problemset/problem/1 ...
- 【hihoCoder】1148:2月29日
问题:http://hihocoder.com/problemset/problem/1148 给定两个日期,计算这两个日期之间有多少个2月29日(包括起始日期). 思路: 1. 将问题转换成求两个日 ...
- 【hihoCoder】1288 : Font Size
题目:http://hihocoder.com/problemset/problem/1288 手机屏幕大小为 W(宽) * H(长),一篇文章有N段,每段有ai个字,要求使得该文章占用的页数不超过P ...
- 【hihoCoder】1082: 然而沼跃鱼早就看穿了一切
题目:http://hihocoder.com/problemset/problem/1082 输入一个字符串,将其中特定的单词替换成另一个单词 代码注意点: 1. getline(istre ...
- 【hihoCoder】1121:二分图一·二分图判定
题目 http://hihocoder.com/problemset/problem/1121 无向图上有N个点,两两之间可以有连线,共有M条连线. 如果对所有点进行涂色(白/黑),判定是否存 ...
随机推荐
- 用Grunt进行CSS文件压缩
假设你的项目的CSS文件全部放在项目目录下名为css的文件夹中,现在将它压缩合并成一个名为main-min.css的文件,放在css-min文件夹下. (1)首先保证机器安装了node.js. (2) ...
- (转)Hibernate中的多表操作
http://blog.csdn.net/yerenyuan_pku/article/details/70556208 Hibernate中的多表操作 在实际开发中,我们不可能只是简简单单地去操作单表 ...
- Codeforces_732D_(二分贪心)
D. Exams time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...
- zepto处理touch事件
处理Touch事件能让你了解到用户的每一根手指的位置,在touch事件触发的时候产生,可以通过touch event handler的event对象取到,如果基于zepto.js开发,一般是通过eve ...
- 浅谈SOCKS5代理与HTTP代理的应用区别
[1]什么是SOCKS5协议. SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递.SOCKS是"Sockets”的缩写. 当防火墙后的客户端要访问外部的服务器时,就 ...
- ES6 中set的用法
- CAD得到自定义实体拖放夹点(com接口VB语言)
主要用到函数说明: MxDrawXCustomEvent::MxDrawXCustomEntity::getGripPoints 自定义实体事件,得到拖放夹点,详细说明如下: 参数 说明 LONGLO ...
- LINUX-查看进程内环境变量
ps -ef find PID cat /proc/$PID/environ | grep ENV
- 内核调试-ftrace introduction
ftrace https://www.ibm.com/developerworks/cn/linux/l-cn-ftrace1/ https://www.ibm.com/developerworks/ ...
- C++项目作业 学生管理系统
/*Student.h*/#pragma once #include<string.h> using namespace std; #include<string> class ...